This is a migrated thread and some comments may be shown as answers.

[Solved] InPlace Edit Cancel/Udpate causing error

1 Answer 74 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Steven Black
Top achievements
Rank 1
Steven Black asked on 27 Feb 2010, 06:08 PM
Hello,

I'm trying to put in-place editing into my grid.  When I click the Edit image, the grid is placed into Edit mode properly.  However, whenever I hit the Cancel or Update buttons I am getting an error "Failed to load viewstate.  The control tree into which viewstate..." (please let me know if you need the full error message).

My grid HTML looks like this:

                    <telerik:RadGrid ID="rgDetails" runat="server" GridLines="None" AutoGenerateColumns="false" 
                        Skin="Office2007" AllowPaging="True" PageSize="15">  
                        <HeaderContextMenu> 
                            <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
                        </HeaderContextMenu> 
 
                        <PagerStyle Mode="NextPrevAndNumeric" /> 
                            <MasterTableView EditMode="InPlace" TableLayout="Fixed">  
                            <RowIndicatorColumn> 
                                <HeaderStyle Width="20px"></HeaderStyle> 
                            </RowIndicatorColumn> 
 
                            <ExpandCollapseColumn> 
                                <HeaderStyle Width="20px"></HeaderStyle> 
                            </ExpandCollapseColumn> 
                            <Columns> 
                                <telerik:GridBoundColumn UniqueName="RemittanceEntryDetailID" ReadOnly="true" DataField="RemittanceEntryDetailID" Display="false"></telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="RemittanceEntryID" ReadOnly="true" DataField="RemittanceEntryID" Display="false"></telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="ReciprocalID" ReadOnly="true" DataField="ReciprocalID" Display="false"></telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="ParticipantPayoutDetailID" ReadOnly="true" DataField="ParticipantPayoutDetailID" Display="false"></telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="FundID" DataField="FundID" ReadOnly="true" Display="false"></telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="FundName" DataField="FundName" ReadOnly="true" HeaderText="Fund">  
                                    <ItemStyle HorizontalAlign="Left" /> 
                                    <HeaderStyle HorizontalAlign="Left" /> 
                                </telerik:GridBoundColumn> 
                                <telerik:GridTemplateColumn DataField="CreditedHours" headertext="Hours">  
                                    <ItemStyle HorizontalAlign="Center" Width="90px" /> 
                                    <HeaderStyle HorizontalAlign="Center" Width="90px" /> 
                                    <ItemTemplate> 
                                        <asp:Label ID="lblCreditedHours" CssClass="CenterText" runat="server" ><%#DataBinder.Eval(Container.DataItem, "CreditedHours")%></asp:Label> 
                                    </ItemTemplate> 
                                    <EditItemTemplate> 
                                        <telerik:RadNumericTextBox ID="txtCreditedHours" Width="95%" CssClass="CenterText" runat="server" Value='<%#DataBinder.Eval(Container.DataItem, "CreditedHours")%>' NumberFormat-DecimalDigits="2" Type="Number"></telerik:RadNumericTextBox> 
                                    </EditItemTemplate> 
                                </telerik:GridTemplateColumn> 
                                <telerik:GridTemplateColumn DataField="CreditedUnits" Headertext="Units">  
                                    <ItemStyle HorizontalAlign="Center" Width="90px" /> 
                                    <HeaderStyle HorizontalAlign="Center" Width="90px" /> 
                                    <ItemTemplate> 
                                        <asp:Label ID="lblCreditedUnits" CssClass="CenterText" runat="server" ><%#DataBinder.Eval(Container.DataItem, "CreditedUnits")%></asp:Label> 
                                    </ItemTemplate> 
                                    <EditItemTemplate> 
                                        <telerik:RadNumericTextBox ID="txtCreditedUnits" Width="95%" CssClass="CenterText" runat="server" Value='<%#DataBinder.Eval(Container.DataItem, "CreditedUnits")%>' NumberFormat-DecimalDigits="2" Type="Number"></telerik:RadNumericTextBox> 
                                    </EditItemTemplate> 
                                </telerik:GridTemplateColumn> 
                                <telerik:GridTemplateColumn DataField="EntryExpectedContribution" Headertext="Calculated Contribution">  
                                    <ItemStyle HorizontalAlign="Center" Width="90px" /> 
                                    <HeaderStyle HorizontalAlign="Center" Width="90px" /> 
                                    <ItemTemplate> 
                                        <asp:Label ID="lblCalculatedContribution" CssClass="CenterText" runat="server" ><%#DataBinder.Eval(Container.DataItem, "EntryExpectedContribution")%></asp:Label> 
                                    </ItemTemplate> 
                                    <EditItemTemplate> 
                                        <telerik:RadNumericTextBox ID="txtCalculatedContribution" Width="95%" CssClass="CenterText" runat="server" Value='<%#DataBinder.Eval(Container.DataItem, "EntryExpectedContribution")%>' NumberFormat-DecimalDigits="2" Type="Currency"></telerik:RadNumericTextBox> 
                                    </EditItemTemplate> 
                                </telerik:GridTemplateColumn> 
                                <telerik:GridTemplateColumn DataField="CreditedExpectedContribution" Headertext="Expected Contribution">  
                                    <ItemStyle HorizontalAlign="Center" Width="90px" /> 
                                    <HeaderStyle HorizontalAlign="Center" Width="90px" /> 
                                    <ItemTemplate> 
                                        <asp:Label ID="lblExpectedContribution" CssClass="CenterText" runat="server" ><%#DataBinder.Eval(Container.DataItem, "CreditedExpectedContribution")%></asp:Label> 
                                    </ItemTemplate> 
                                    <EditItemTemplate> 
                                        <telerik:RadNumericTextBox ID="txtExpectedContribution" Width="95%" CssClass="CenterText" runat="server" Value='<%#DataBinder.Eval(Container.DataItem, "CreditedExpectedContribution")%>' NumberFormat-DecimalDigits="2" Type="Currency"></telerik:RadNumericTextBox> 
                                    </EditItemTemplate> 
                                </telerik:GridTemplateColumn> 
                                <telerik:GridTemplateColumn DataField="ContributionAmount" Headertext="Actual Contribution">  
                                    <ItemStyle HorizontalAlign="Center" Width="90px" /> 
                                    <HeaderStyle HorizontalAlign="Center" Width="90px" /> 
                                    <ItemTemplate> 
                                        <asp:Label ID="lblActualContribution" CssClass="CenterText" runat="server" ><%#DataBinder.Eval(Container.DataItem, "ContributionAmount")%></asp:Label> 
                                    </ItemTemplate> 
                                    <EditItemTemplate> 
                                        <telerik:RadNumericTextBox ID="txtActualContribution" Width="95%" CssClass="CenterText" runat="server" Value='<%#DataBinder.Eval(Container.DataItem, "ContributionAmount")%>' NumberFormat-DecimalDigits="2" Type="Currency"></telerik:RadNumericTextBox> 
                                    </EditItemTemplate> 
                                </telerik:GridTemplateColumn> 
                                <telerik:GridEditCommandColumn EditImageUrl="~\images\edit.gif" ButtonType="ImageButton" UniqueName="EditCommandColumn">   
                                    <ItemStyle HorizontalAlign="Center" Width="40px" />   
                                    <HeaderStyle HorizontalAlign="Center" Width="40px" /> 
                                </telerik:GridEditCommandColumn> 
                            </Columns> 
                        </MasterTableView> 
                        <FilterMenu> 
                            <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
                        </FilterMenu> 
                    </telerik:RadGrid> 
 

My entire code-behind is as follows:

Imports THA  
Imports Telerik.Web.UI  
 
Partial Class EditRemittanceEntryDetail  
    Inherits System.Web.UI.Page  
 
    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init  
        Dim intID As Integer = Request.QueryString("ID")  
        txtRemittanceEntryID.Text = intID 
 
        Call LoadRemittanceEntryDetail()  
    End Sub  
 
    Private Sub LoadRemittanceEntryDetail()  
        Dim dl As List(Of THA.ContributionAccounting.RemittanceEntryDetail) = THA.ContributionAccounting.GetRemittanceEntryDetails(0, txtRemittanceEntryID.Text, Session("DB"))  
        If Not (dl Is Nothing) AndAlso dl.Count > 0 Then  
            rgDetails.DataSource = dl 
        Else  
            rgDetails.DataSource = vbNullString 
        End If  
        rgDetails.DataBind()  
    End Sub  
 
    Protected Sub rgDetails_CancelCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgDetails.CancelCommand  
        e.Canceled = True 
        Call LoadRemittanceEntryDetail()  
    End Sub  
 
    Protected Sub rgDetails_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgDetails.ItemCommand  
        Select Case e.CommandName  
            Case "EditBtn"  
                e.Item.Edit = True 
                Call LoadRemittanceEntryDetail()  
        End Select  
    End Sub  
 
    Protected Sub rgDetails_UpdateCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgDetails.UpdateCommand  
        e.Canceled = True 
        Call LoadRemittanceEntryDetail()  
    End Sub  
End Class  
 

As you can see I didn't even bother putting any code into my rgDetails_UpdateCommand event yet, although I envision updating my SQL Server database within this event before rebinding the grid.

Any help would be greatly appreciately.

I'm not sure if it's noteworthy or not, but this entire page is opened from a RadWindowManager and is basically a "pop-up" page.

Thanks.

Steve

1 Answer, 1 is accepted

Sort by
0
Steven Black
Top achievements
Rank 1
answered on 27 Feb 2010, 08:21 PM

I was able to figure this out.  I used the NeedDataSource event and removed my LoadRemittanceEntryDetail routine.  I also made a few other changes as well (i.e. removing the ItemCommand event because it wasn't needed).

 

Steve

 

Tags
Grid
Asked by
Steven Black
Top achievements
Rank 1
Answers by
Steven Black
Top achievements
Rank 1
Share this question
or