先用一个 datatable 把 dataset进行了 .copy
然后手工往datatable中增加了1列,这2列值为原先列中某2列的差 在
GridView1_Sorting 中protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
DataView newds = new DataView((DataTable)GridView1.DataSource);
//由于是代码手工生成,每次页面刷新时执行page_unload以后就会丢失,所以用ViewState加以保存状态
if (ViewState["action"] == null)
{
newds.Sort = e.SortExpression + " desc";
ViewState["action"] = e.SortDirection;
}
else
{
if ((SortDirection)ViewState["action"] == SortDirection.Ascending)
{
newds.Sort = e.SortExpression + " asc";
ViewState["action"] = SortDirection.Descending;
}
else
{
newds.Sort = e.SortExpression + " desc";
ViewState["action"] = SortDirection.Ascending;
}
}
GridView1.DataSource = newds;
GridView1.DataBind();
}原先 datatable中的都可以正常排序,但是自己增加的那一列点击以后虽然也有反应,但并不是顺序或者倒序排列,而是无序。请教可能的原因。
然后手工往datatable中增加了1列,这2列值为原先列中某2列的差 在
GridView1_Sorting 中protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
DataView newds = new DataView((DataTable)GridView1.DataSource);
//由于是代码手工生成,每次页面刷新时执行page_unload以后就会丢失,所以用ViewState加以保存状态
if (ViewState["action"] == null)
{
newds.Sort = e.SortExpression + " desc";
ViewState["action"] = e.SortDirection;
}
else
{
if ((SortDirection)ViewState["action"] == SortDirection.Ascending)
{
newds.Sort = e.SortExpression + " asc";
ViewState["action"] = SortDirection.Descending;
}
else
{
newds.Sort = e.SortExpression + " desc";
ViewState["action"] = SortDirection.Ascending;
}
}
GridView1.DataSource = newds;
GridView1.DataBind();
}原先 datatable中的都可以正常排序,但是自己增加的那一列点击以后虽然也有反应,但并不是顺序或者倒序排列,而是无序。请教可能的原因。
解决方案 »
- 开发模式的选择
- 100分求一个问题的解决思路,高手近来看看 !
- 动态加载的用户控件与表单form,急!!!
- 在服务器端如何获取客户端请求页面的HTML文件内容?
- 我下载了 webdiyer (陕北吴旗娃) 的分页控件 sql例子
- 在gridview里面选HeaderTemplate里的checkbox后,全选ItemTemplate里的checkbox,如何实现选中行颜色的变化,要用js实现,(在后台我已经实现了,要刷新页面不是很喜欢)
- 一个大文件上传的问题,请高手帮忙!
- 请问那里有soucesafe的下载地址?
- 急,我还是联不上sql server 2000数据库
- 请大家讨论一下用D版的XP安装XP_SP1的经验。目前市场上的D版的XP很多哪个版本好哪?
- ajax获取多个服务器字符串,合并乎,分开乎?有好答案则分数全给,否则顶者有分。
- C#中怎样检测webpage的一个panel控件中textbox和button的控件的个数
给e.SortExpression 指定列名
为了在画面上显示,是不是也在gridview里面也加了一列那
或者grid上面本来就是三列
这样的话,你要给第三列指定SortExpression属性
BoundField bf = new BoundField();
bf.DataField = c.ColumnName;
bf.HeaderText = c.ColumnName;
bf.SortExpression = "CCC";
GridView1.Columns.Add(bf);