从DataTable和ASP.NET中的隐藏列中对数据维图进行排序



我在ASP.NET Web表单应用中具有GridView,我需要添加一种基于2列对行进行排序的方法。我找到了一种使用Dataview的方法。

因此,从我的原始GridView中,我正在创建一个数据表,然后我做:

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

现在,我可以对数据范围进行排序,然后可以将数据视图添加到GridView作为数据源。这很好,除了我的原始GridView具有一些设置为可见= false的列。进行此类排序后,从隐藏的列中删除了数据。

当我从数据表创建数据范围或进行排序时,这会发生吗?我该怎么做才能保留隐藏列中的值?

在排序之前,您必须设置列visible=false,并且在排序之后,visible=true将在排序的代码下更好地工作:

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

这起作用,因为您尚未在Page_Load中检查IsPostBack

最新更新