我在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或进行排序时会发生这种情况吗?我该怎么做才能保持隐藏列的值?
谢谢!
答案 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
时使用。