我有一个带有以下代码的Telerik Grid:
<telerik:GridDropDownColumn DataSourceID="UserSrc" ListTextField="FName" ListValueField="FName"
UniqueName="FName" SortExpression="FName" HeaderText="Assigned To"
DefaultInsertValue="N/A" DataField="FName" DropDownControlType="DropDownList"
AllowVirtualScrolling="true" ShowMoreResultsBox="true" ItemsPerRequest="10">
</telerik:GridDropDownColumn>
在我的代码中,我有以下内容:
protected void ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "Update")
{
我的问题是如何从下拉列表中获取所选值。
答案 0 :(得分:0)
尝试这个但是你需要处于编辑模式,因为当这样的行处于显示模式时,DropDown控件不会被渲染。因此,不是数据绑定,您无法获取其DataValues。
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem item = e.Item as GridEditableItem;
string MyValue = (item["FName"].Controls[0] as RadComboBox).SelectedItem.Text;
}
另一种方法是,如果您不处于编辑模式,可以创建一个隐藏列,并在其中保留下拉列的选定值,并从此列中检索值。
在第二种情况下,您可以像这样获取隐藏列的值:
protected void ItemCommand(object source, GridCommandEventArgs e)
{
if (e.CommandName == "Update")
{
GridDataItem item = (GridDataItem)e.Item;
string value = item["MyHiddenColumn"].Text;
}
}
您的隐藏列应如下所示:
<telerik:GridBoundColumn DataField="FName" UniqueName="MyHiddenColumn" HeaderText="ID" Visible="false">
</telerik:GridBoundColumn>
答案 1 :(得分:0)
如果您使用Visible =&#34; false&#34;您无法访问该列,请使用display =&#34; false&#34;代替。 http://www.telerik.com/forums/visible-vs-display-on-grid-column-definition