将 Asp:GridView 转换为 RadGridView
Convert Asp:GridView To RadGridView
我一直在为我的 asp:gridview 使用此语法,现在我正尝试将其转换为 RadGridView。
我得到一个错误
Unable to cast object of type 'Telerik.Web.UI.GridBoundColumn' to type '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;
}
您不能在 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
.
等替代方案
我一直在为我的 asp:gridview 使用此语法,现在我正尝试将其转换为 RadGridView。
我得到一个错误
Unable to cast object of type 'Telerik.Web.UI.GridBoundColumn' to type '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;
}
您不能在 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
.