C# 将Asp:GridView转换为RadGridView
我一直在为我的asp:gridview使用这种语法,现在我正试图将其转换为RadGridView 我犯了一个错误 无法将类型为“Telerik.Web.UI.GridBoundColumn”的对象强制转换为类型为“System.Web.UI.WebControls.DataControlField” 关于这个- 数据控制字段 如何更改此语法以使用RadGridC# 将Asp:GridView转换为RadGridView,c#,asp.net,gridview,radgrid,radgridview,C#,Asp.net,Gridview,Radgrid,Radgridview,我一直在为我的asp:gridview使用这种语法,现在我正试图将其转换为RadGridView 我犯了一个错误 无法将类型为“Telerik.Web.UI.GridBoundColumn”的对象强制转换为类型为“System.Web.UI.WebControls.DataControlField” 关于这个- 数据控制字段 如何更改此语法以使用RadGrid private int GetColumnIndexRad(Telerik.Web.UI.RadGrid grid, strin
private int GetColumnIndexRad(Telerik.Web.UI.RadGrid grid, string colName)
{
foreach (DataControlField col in grid.Columns)
{
if (col.HeaderText.ToLower().Trim() == colName.ToLower().Trim())
{
return grid.Columns.IndexOf(col);
}
}
return -1;
}
您不能在Telerik的
RadGrid
中使用GridView的DataControlField
实例,因为它们使用不同的命名来定义网格元素(列、行等)
尝试迭代MasterTableView.Columns
集合以根据列名查找列索引:
private int GetColumnIndexRad(Telerik.Web.UI.RadGrid grid, string colName)
{
foreach (GridColumn column in grid.MasterTableView.Columns)
{
if (column.UniqueName.ToLower().Trim() == colName.ToLower().Trim())
{
return column.OrderIndex - 1;
}
}
return -1;
}
注意:如果RadGrid.MasterTableView.Columns
不起作用,请尝试类似RadGrid.MasterTableView.AutoGeneratedColumns
或RadGrid.MasterTableView.RenderColumns
的替代方案
类似问题: