Set SelectedValue of GridDropDownColumn
本文关键字:GridDropDownColumn of SelectedValue Set | 更新日期: 2023-09-27 18:20:16
我正在尝试在RadGrid中设置GridDropDownColumn的值。请注意,我的GridDropDownColumn不在模板中,只是<columns>
的一部分。
我使用InsertCommand事件来做这件事,因为我的整个实验都是围绕着操作其中的数据。
前端:
<telerik:RadGrid ID="RadGrid1" runat="server">
<MasterTableView>
<Columns>
<telerik:GridDropDownColumn DataSourceID="MySource" DataField="RowId" UniqueName="RowId" ListValueField="id" ListTextField="Name" SortExpression="RowId" HeaderText="RowId" />
</Columns>
</MasterTableView>
</telerik:RadGrid>
后端:
protected void RadGrid1_InsertCommand(object sender, GridCommandEventArgs e) {
if (e.Item is GridEditFormItem && e.Item.IsInEditMode) {
GridEditFormItem editItem = (GridEditFormItem)e.Item;
DropDownList list = (DropDownList)editItem["GridDropDownColumn"].Controls[0];
list.SelectedValue = HiddenFieldIdToSave.Value;
}
}
不过,这给了我一个相当严重的错误。
Unhandled exception at line 15, column 16485 in http://localhost:55555/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=;;System.Web.Extensions,+Version=4.0.0.0,+Culture=neutral,+PublicKeyToken=31321323135:en-N:5924cf72drgdrg-a608a92942c5:ea597d4b:b25378d2;Telerik.Web.UI,+Version=2014.2.724.45,+Culture=neutral,+PublicKeyToken=121fae781awdawggcvb31-d2d2285652a6:fghfghfghf:58366029
0x800a139e - JavaScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Cannot find cell bound to column with unique name 'GridDropDownColumn'
在后端C#中,您试图访问名为GridDropDownColumn
的列,但应该使用该行的UniqueName
属性,该属性已设置为RowId
。试试这个:
protected void RadGrid1_InsertCommand(object sender, GridCommandEventArgs e)
{
if (e.Item is GridEditFormItem && e.Item.IsInEditMode)
{
GridEditFormItem editItem = (GridEditFormItem)e.Item;
// Use the column's unique name as the accessor:
DropDownList list = (DropDownList)editItem["RowId"].Controls[0];
list.SelectedValue = HiddenFieldIdToSave.Value;
}
}
我发现了出现此错误的原因。
我有两个下拉列表,它们都连接在同一个数据源上,这导致传递了一个错误值,然后导致我的Insert/Update DataObjectMethod引发错误。
另外,我的例子是查找错误的UniqueName。