按名称访问网格列而不是索引

时间:2010-12-26 10:19:26

标签: asp.net gridview grid

是否可以按名称而不是索引grid.columns["name"]访问网格列,因为如果我添加新列,我必须更改所有数字?

1 个答案:

答案 0 :(得分:0)

每行,你可以使用类似下面的内容按名称获取索引,然后使用它来访问正确的列。

int GetColumnIndexByName(GridViewRow row, string searchColumnName)
{
    int columnIndex = 0;
    foreach (DataControlFieldCell cell in row.Cells)
    {
        if (cell.ContainingField is BoundField)
        {
            if (((BoundField)cell.ContainingField).DataField.Equals(searchColumnName))
            {
                break;
            }
        }
        columnIndex++;
    }
    return columnIndex;
}

无论哪种方式,您都需要创建辅助方法来按名称而不是索引。