我想访问radGrid控件中的值。鉴于下图,我想访问“状态”的值。但我似乎无法得到它。
我收到错误消息
“无法将”TripLeg“类型的对象强制转换为类型 'Telerik.Web.UI.GridDataItem'。“
有关如何访问该列的任何想法?
答案 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