1

此代码正确获取数据并显示它;但是,排序完全被忽略了。

DataTable dt = f.Execute().Tables[0]; 
dt.DefaultView.Sort = summaryColumn;
rptInner.DataSource = dt.DefaultView;
rptInner.DataBind();

我可以做些什么来强制视图自行排序吗?

(f.Execute() 返回一个数据集,在表的位置 0,summaryColumn 是表中列的名称,rptInner 是一个转发器控件)

编辑

summaryColumn 是一个字符串变量,它具有我要排序的列的确切名称。我没有使用 sproc 或任何东西,DataSet 是给我的,我负责对其进行排序。

4

2 回答 2

4

如果 summaryColumn 是数据视图中要排序的列的名称,请将其放在双引号中:

DataTable dt = f.Execute().Tables[0]; 
DataView dv = dt.DefaultView;
dv.Sort = "summaryColumn";
rptInner.DataSource = dv;
rptInner.DataBind();

如果它是一个包含列名称的字符串变量,请确保它的值是您要排序的列的确切字符串名称......

于 2009-08-31T20:07:01.367 回答
0

我在服务器端进行排序,如果您使用来自执行调用的存储过程,则在结果集上放置一个 Order By 语句(如果它是 SQL)。

于 2009-08-31T20:08:50.880 回答