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