Telerik Grid从下行列表中获取价值

时间:2015-03-13 18:12:26

标签: .net telerik telerik-grid

我有一个带有以下代码的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")
        {

我的问题是如何从下拉列表中获取所选值。

2 个答案:

答案 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