访问radGrid列中的值

时间:2013-05-10 22:21:05

标签: asp.net telerik radgrid

我想访问radGrid控件中的值。鉴于下图,我想访问“状态”的值。但我似乎无法得到它。

我收到错误消息

  

“无法将”TripLeg“类型的对象强制转换为类型   'Telerik.Web.UI.GridDataItem'。“

有关如何访问该列的任何想法?

GridItem

2 个答案:

答案 0 :(得分:4)

你快到了。您只需要将DataItem强制转换为适当的对象。假设您的数据源为IEnumerable<TripLeg>

以下是示例 -

if (e.Item is GridDataItem)
{
   var item = e.Item as GridDataItem;
   var tripLeg = e.Item.DataItem as TripLeg; // Cast to appropriate object
   var status = tripLeg.Status; 

   // var hLink = (HyperLink) item.FindControl("HyperLink1");
   // Above code will throw exception if the control is not found.

   var hLink = item.FindControl("XXXXX") as HyperLink;
   if(hLink != null)
   {
      hLink.Attributes.Add("XXXXX", "XXXXX");
   }
}

答案 1 :(得分:3)

我非常喜欢Telerik Components(尽管我越来越喜欢Kendo UI)但在我看来,如果你想获得状态值,你可以使用这个

string itemValue = dataItem["ColumnUniqueName"].Text;
//no need to convert :)

看一下RadGrids的文档...... http://www.telerik.com/help/aspnet-ajax/grid-accessing-cells-and-rows.html