添加新列时隐藏GridView中的列

时间:2013-07-18 17:09:06

标签: asp.net gridview show-hide

进入了一个场景。 我有一个带有22个静态列的gridview(很少是BoundFields,很少是TemplateFields)。 我们的项目中有一个场景,我们需要根据所选列来订购GridView。所选列的顺序由UI提供。 例如:我们将Doc1到Doc23作为列。 现在,从UI中提供的功能,我传递了4个列,分别是Doc2,Doc4,Doc5,Doc7。 现在我希望我的网格中只有这4列作为最终输出。 尝试了一些代码,但似乎没有用。 以下是我的代码:

    public int GridColumnOrdering(string columnList)
    {
        string[] test = columnList.Split(';');
        var docCatColumn = gridResultSet.Columns[0];
        var docTypeColumn = gridResultSet.Columns[1];
        int columnCount = 0;
        int testCount = 0;

        for (int i = 0; i < test.Count(); i++)
        {
            if (test[i] == "Doc2")
            {
                gridResultSet.Columns.Insert(i , docCatColumn);
                columnCount++;
            }
            if (test[i] == "Doc3")
            {
                gridResultSet.Columns.Insert(i , docTypeColumn);
                columnCount++;
            }
        }
        gridResultSet.Columns[2].Visible = false;
        gridResultSet.Columns[3].Visible = false;
    }

columnList是传递的参数,其值包含Doc2; Doc3等值。 我的想法是,我得到的静态列类似于从UI获取的列,将其位置更改为下一个位置,然后隐藏该静态列。通过这种方式,我们实际上有两列相同的名称,但我试图隐藏静态列并显示动态列。 我知道这听起来很奇怪而且很忙,但这就是我想到的。 现在的问题是,如果我尝试更改静态列的可见性,则动态列的可见性也会发生变化。 专家可以帮助解决这个问题,或者在这方面指出一些简单的方法吗? 问候 阿努拉格

0 个答案:

没有答案