我一直在为asp:gridview使用这种语法,我现在正试图将它转换为RadGridView。
我收到错误
无法转换类型' Telerik.Web.UI.GridBoundColumn'输入' System.Web.UI.WebControls.DataControlField'。'
关于这个 -
的DataControlField
如何更改此语法以使用RadGrid?
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;
}
答案 0 :(得分:1)
您无法在Telerik的DataControlField
中使用GridView的RadGrid
实例,因为他们使用不同的命名来定义网格元素(列,行,等等。)。
尝试迭代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
等替代方案。