将Asp:GridView转换为RadGridView

时间:2018-01-17 21:06:49

标签: c# asp.net gridview radgrid radgridview

我一直在为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;
    }

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.AutoGeneratedColumnsRadGrid.MasterTableView.RenderColumns等替代方案。

类似问题:Get Column Index in RadGrid