c# - 按名称查找 GridView 列索引的方法

标签 c# asp.net

我正在尝试编写一个小方法来循环遍历并通过其索引找到 GridView 列,因为它可以根据可能可见的内容更改位置。

这是我目前所拥有的:

private int GetColumnIndexByName(GridView grid, string name)
{
    foreach (DataColumn col in grid.Columns)
    {
        if (col.ColumnName.ToLower().Trim() == name.ToLower().Trim()) return col.Ordinal;
    }

    return -1;
}

在这种情况下,DataColumn 似乎不是要使用的正确类型,但我有点不知道我应该在这里做什么。

我只能使用 .NET 2.0/3.5。我不能使用 4.0。

最佳答案

我明白了,我需要使用 DataControlField 和稍微不同的语法。

工作版本:

private int GetColumnIndexByName(GridView grid, string name)
    {
        foreach (DataControlField col in grid.Columns)
        {
            if (col.HeaderText.ToLower().Trim() == name.ToLower().Trim())
            {
                return grid.Columns.IndexOf(col);
            }
        }

        return -1;
    }

关于c# - 按名称查找 GridView 列索引的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3925183/

相关文章:

c# - 如何在 Autofac 中运行时定义嵌套对象的值

c# - 从 C# 中的缓冲区中检索多个对象

c# - Count 和 foreach 产生不同的结果

c# - 如何组织 C# 类

c# - 使用 ASP.net Identity 和 Web API 获取用户角色

asp.net - 错误请求 - 无效的主机名 ASP.net Visual Studio 2015

c# - 多线程更新服务器

c# - Log4Net和ElasticSearch-多个索引

c# - 为什么Word无法直接打开我生成的docx,但先保存到磁盘后才能打开?

c# - 图表处理程序配置中的临时图像目录无效 [C :\Users\user1\Documents\Visual Studio 2010\WebSites\Website1\]