【发布时间】:2017-06-08 07:13:06
【问题描述】:
我在 ASP.NET Web 窗体应用程序中有一个 gridview,我需要添加一种方法来根据 2 列对行进行排序。我找到了一种使用 DataView 的方法。 所以从我原来的 Gridview 我创建一个 DataTable 然后我做:
DataView dv = new DataView(dt);
dv.Sort = "Column_1, Column_2";
gridView.DataSource = dv;
gridView.DataBind();
现在我可以对 DataView 进行排序,然后我可以将 DataView 作为 DataSource 添加到 Gridview。这很好用,除了我原来的 GridView 有一些设置为可见 = false 的列。 进行此排序后,隐藏列中的数据将被删除。 有没有人遇到过这个?当我从 DataTable 创建 DataView 或进行排序时会发生这种情况吗?我能做些什么来保留隐藏列中的值?
谢谢!
【问题讨论】:
-
我设法解决了这个问题,首先使 GridView 列可见,然后执行排序所需的所有其他内容,最后我将 GridView 列恢复为不可见。这行得通,但我更好奇为什么会发生这种情况。我在网上找不到任何相关信息。也许有更多经验的人可以提供一些启示。谢谢!