从ASP.NET中的隐藏列的数据表中对数据视图进行排序

时间:2017-06-08 07:13:07

标签: asp.net gridview

我在ASP.NET Web Forms应用程序中有一个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有一些设置为visible = false的列。 执行此排序后,隐藏的列中的数据将被删除。 有没有人遇到过这个?当我从DataTable创建DataView或进行排序时会发生这种情况吗?我该怎么做才能保持隐藏列的值?

谢谢!

1 个答案:

答案 0 :(得分:0)

在排序之前,您必须设置列visible=false,并且在排序集visible=true之后将更好地在代码下方进行排序:

DataView dv = new DataView(dt);
dv.Sort = "Column_1, Column_2";
gridView.DataSource = dv;
gridView.DataBind();

这可以在IsPostBack中未选中Page_Load时使用。