Hi,
I have RadGrid with gets data from 4 different database tables using Entity Framework and LINQ with MS Framework 4.0. I have problem getting values from the EditForm controls while performing insert and Update Operations:
.aspx Mark-up:
Code behind:
Can you please tell me whats am I doing wrong here ?
Thanks
Tejas
I have RadGrid with gets data from 4 different database tables using Entity Framework and LINQ with MS Framework 4.0. I have problem getting values from the EditForm controls while performing insert and Update Operations:
.aspx Mark-up:
<telerik:RadGrid ID="grdCollections" runat="server" GridLines="None" AutoGenerateColumns="False" OnInsertCommand="grdCollections_Insert" OnUpdateCommand="grdCollections_Update" OnEditCommand="grdCollections_Command" AllowSorting="True" OnDeleteCommand="grdCollections_Command" OnNeedDataSource="grdCollections_NeedDataSource" OnCancelCommand="grdCollections_Command" OnItemDataBound="grdCollections_ItemDataBound" PageSize="10" > <MasterTableView EditMode="EditForms" CommandItemDisplay="Top" DataKeyNames="CollectionID" InsertItemDisplay="Bottom"> <CommandItemSettings ShowAddNewRecordButton="true" AddNewRecordImageUrl="~/Images/AddRecord.gif" AddNewRecordText="Add New Collection Entry" > </CommandItemSettings> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"><HeaderStyle Width="20px"></HeaderStyle></RowIndicatorColumn><ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"><HeaderStyle Width="20px"></HeaderStyle></ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn DataField="CollectionID" DataType="System.Int32" ReadOnly="true" FilterControlAltText="Filter CollectionID column" HeaderText="ID" SortExpression="CollectionID" UniqueName="CollectionID"> </telerik:GridBoundColumn> <telerik:GridDropDownColumn FilterControlAltText="Filter CreditorID column" UniqueName="CreditorID" DataField="CreditorID" HeaderText="*CreditorID" Visible="true" > </telerik:GridDropDownColumn> <telerik:GridDropDownColumn FilterControlAltText="Filter Name column" UniqueName="Name" DataField="Name" HeaderText="*Agency Name" ListTextField="Name" ListValueField="CreditorID"> </telerik:GridDropDownColumn> <telerik:GridBoundColumn DataField="AccountNumber" FilterControlAltText="Filter AccountNumber column" HeaderText="Account No." SortExpression="AccountNumber" UniqueName="AccountNumber"> </telerik:GridBoundColumn> <telerik:GridDateTimeColumn FilterControlAltText="Filter RptdDate column" DataField="RptdDate" DataType="System.DateTime" HeaderText="*Opened Date" SortExpression="RptdDate" UniqueName="RptdDate" DataFormatString="{0:d}"> </telerik:GridDateTimeColumn> <telerik:GridDateTimeColumn DataField="RvsdDate" DataType="System.DateTime" FilterControlAltText="Filter RvsdDate column" HeaderText="Date Revised" SortExpression="RvsdDate" UniqueName="RvsdDate" DataFormatString="{0:d}"> </telerik:GridDateTimeColumn> <telerik:GridDateTimeColumn DataField="LastPmtDate" DataType="System.DateTime" FilterControlAltText="Filter LastPmtDate column" HeaderText="Last Payment Date" SortExpression="LastPmtDate" UniqueName="LastPmtDate" DataFormatString="{0:d}"> </telerik:GridDateTimeColumn> <telerik:GridNumericColumn DataField="Amount" DataType="System.Decimal" FilterControlAltText="Filter Amount column" HeaderText="Amount" SortExpression="Amount" UniqueName="Amount" DataFormatString="{0:C}"> </telerik:GridNumericColumn> <telerik:GridNumericColumn DataField="Balance" DataType="System.Decimal" FilterControlAltText="Filter Balance column" HeaderText="Total Balance" DataFormatString="{0:C}" SortExpression="Balance" UniqueName="Balance"> </telerik:GridNumericColumn> <telerik:GridEditCommandColumn FilterControlAltText="Filter EditCommandColumn column"> </telerik:GridEditCommandColumn> <telerik:GridButtonColumn CommandName="Delete" FilterControlAltText="Filter column1 column" Text="Delete" UniqueName="column1"> </telerik:GridButtonColumn> </Columns> <EditFormSettings EditFormType="Template"> <EditColumn UniqueName="EditCommandColumn1"> </EditColumn> <FormTemplate> <table width="580px"> <tr> <td style="width:19%; text-align:right;"> <asp:Label ID="lblEditAgency" runat="server" Text="*Agency:"></asp:Label> </td> <td style="width:1%;"> </td> <td style="width:80%;"> <telerik:RadComboBox ID="cmbCreditors" runat="server" DataTextField="Name" DataValueField="CreditorID" DropDownWidth="440px" Height="150px" EmptyMessage="Select the name of the collection agency. If the agency is not on the list, click Add New"> <HeaderTemplate> <table style="width: 440px" cellspacing="0" cellpadding="0"> <tr> <td style="width:30px">ID </td> <td style="width:120px">Agency Name </td> <td style="width:140px">Address </td> <td style="width:75px">Phone </td> <td style="width:75px">Fax </td> </tr> </table> </HeaderTemplate> <ItemTemplate> <table style="width: 440px" cellspacing="0" cellpadding="0"> <tr> <td style="width:30px"><%# DataBinder.Eval(Container.DataItem, "CreditorID")%> </td> <td style="width:120px"><%# DataBinder.Eval(Container.DataItem, "Name")%> </td> <td style="width:140px"><%# DataBinder.Eval(Container.DataItem, "Address")%> </td> <td style="width:75px"><%# DataBinder.Eval(Container.DataItem, "Phone")%> </td> <td style="width:75px"><%# DataBinder.Eval(Container.DataItem, "Fax")%> </td> </tr> </table> </ItemTemplate> </telerik:RadComboBox> <asp:Button ID="Button3" Text="Add Agency" runat="server" OnClientClick="radbtnAddAgency(); return false;"> </asp:Button> </td> </tr> <tr> <td style="text-align:right;"> <asp:Label ID="Label2" runat="server" Text="*Opened Date:"></asp:Label> </td> <td> </td> <td> <telerik:RadDatePicker ID="DtPickerOpenedDate" runat="server"> </telerik:RadDatePicker> </td> </tr> <tr> <td style="text-align:right;"> <asp:Label ID="Label1" runat="server" Text="*Revised Date:"></asp:Label> </td> <td> </td> <td> <telerik:RadDatePicker ID="DtPickerRevisedDate" runat="server"> </telerik:RadDatePicker> </td> </tr> <tr> <td style="text-align:right;"> <asp:Label ID="Label4" runat="server" Text="Account Number:"></asp:Label> </td> <td> </td> <td> <telerik:RadTextBox ID="txtAccNumber" runat="server" Width="200px" EmptyMessage="Enter the internal account number if applicable"> </telerik:RadTextBox> </td> </tr> <tr> <td style="text-align:right;"> <asp:Label ID="Label5" runat="server" Text="Last Payment Date:"></asp:Label> </td> <td> </td> <td> <telerik:RadDatePicker ID="DtPickerLastPaymentDate" runat="server"> </telerik:RadDatePicker> </td> </tr> <tr> <td style="text-align:right;"> <asp:Label ID="Label6" runat="server" Text="Debt Amount:"></asp:Label> </td> <td> </td> <td> <telerik:RadNumericTextBox ID="txtDebtAmount" runat="server" Width="70px" Type="Currency" EmptyMessage="Click here to enter amount"> </telerik:RadNumericTextBox> </td> </tr> <tr> <td style="text-align:right;"> <asp:Label ID="Label7" runat="server" Text="Total Balance:"></asp:Label> </td> <td> </td> <td> <telerik:RadNumericTextBox ID="txtTotalBalance" runat="server" Width="70px" Type="Currency" EmptyMessage="Click here to enter amount"> </telerik:RadNumericTextBox> </td> </tr> <tr> <td colspan="3"> <asp:Button ID="btnSave" Text='<%# ((bool)DataBinder.Eval(Container, "OwnerTableView.IsItemInserted")) ? "Insert" : "Update" %>' runat="server" CommandName='<%# ((bool)DataBinder.Eval(Container, "OwnerTableView.IsItemInserted")) ? "PerformInsert" : "Update" %>'> </asp:Button> <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" CommandName="Cancel"> </asp:Button> </td> </tr> </table> </FormTemplate> </EditFormSettings></MasterTableView><FilterMenu EnableImageSprites="False"></FilterMenu> <ClientSettings> <ClientEvents OnCommand="RaiseCommand" /> </ClientSettings><HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu> </telerik:RadGrid>Code behind:
protected void grdCollections_Insert(object sender, GridCommandEventArgs e) { GridEditFormInsertItem insItem = e.Item as GridEditFormInsertItem; //GridEditableItem editItem = e.Item.OwnerTableView.GetInsertItem(); int AgentId = 0; RadComboBox cmb = insItem.FindControl("cmbCreditors") as RadComboBox;//cmb shows null if ((cmb != null) && (cmb.DataSource != null)) { AgentId = Convert.ToInt32(cmb.SelectedValue); }//txtAmt shows null RadTextBox txtAmt = insItem.FindControl("txtDebtAmount") as RadTextBox;} protected void grdCollections_Update(object sender, GridCommandEventArgs e) { GridEditableItem editedItem = e.Item as GridEditableItem; int AgentId = 0; RadComboBox cmb = editedItem.FindControl("cmbCreditors") as RadComboBox;//cmb shows null if ((cmb != null) && (cmb.DataSource != null)) { AgentId = Convert.ToInt32(cmb.SelectedValue); }//txtAmt shows null RadTextBox txtAmt = editedItem.FindControl("txtDebtAmount") as RadTextBox; }Can you please tell me whats am I doing wrong here ?
Thanks
Tejas