找回密码
 立即注册

QQ登录

只需一步,快速开始

wengf1983

高级会员

23

主题

91

帖子

1040

积分

高级会员

积分
1040

活字格认证

wengf1983
高级会员   /  发表于:2011-9-14 17:09  /   查看:7431  /  回复:9
设置了C1GridView的AllowSorting="false",点header行就可以排序了,当我在点了一列排序后,画面迁移到别的画面,然后返回来的时候,还想要C1GridView保持刚才点了排序后的样子,请问应该怎么做呢,请帮助下,

9 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-9-14 21:28:00
沙发

回复 1# wengf1983 的帖子

你好,我有几点不是很明白
“C1GridView的AllowSorting="false",点header行就可以排序了”你是说设置AllowSorting="true"吧
“当我在点了一列排序后,画面迁移到别的画面"点击列排序默认是不会跳转到其它页面的,你是在点击事件里面来实现跳转的吗
回复 使用道具 举报
wengf1983
高级会员   /  发表于:2011-9-14 21:37:00
板凳

回复 2# dof 的帖子

不好意思,我说的太仓足了,我重新描述一下,
是C1GridView的AllowSorting="true",然后好比如画面上有一个跳转按钮,
你点了一列排序,然后点击那个跳转按钮,画面跳转到别的页面,然后再从别的页面跳转回来,
希望能保持住刚才的排序,然后那个列的向上向下的三角最好也能和跳转之前一样。
请问这个应该怎么做呢,怎么纪录他的排序,然后回来又怎么设置呢。
回复 使用道具 举报
wengf1983
高级会员   /  发表于:2011-9-15 17:21:00
地板

回复 2# dof 的帖子

:+ ,斑竹大哥有啥做法或者思路不。。。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-9-15 18:37:00
5#
好像没有特别号的解决办法

在Sort事件中可以取到当前排序的列以及排序方式,没进行一次排序操作就将这两个参数记录下来,当从其它页面跳转回来时,强制执行一次排序操作。
回复 使用道具 举报
wengf1983
高级会员   /  发表于:2011-9-15 19:17:00
6#

回复 5# dof 的帖子

能否告诉我怎么取得当前排序的列以及排序方式吗,具体点的代码可以吗。
回复 使用道具 举报
wengf1983
高级会员   /  发表于:2011-9-15 19:19:00
7#

回复 5# dof 的帖子

还有那个回来的强制执行,可以给点大概的代码吗,有点迷惑呢。。拜托拉。
回复 使用道具 举报
wengf1983
高级会员   /  发表于:2011-9-16 08:50:00
8#

回复 5# dof 的帖子

我顺便问一句好吗,就是你点了c1gridview的表头就自己排序了,是默认的一个升序的排序,能否设置让他默认降序的排列呢,这个能设置吗?在哪里设置呢。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-9-16 09:14:00
9#
1、在C1GridView的Sorting事件中可以取得排序列和排序排序方向
  1.         protected void C1GridView1_Sorting(object sender, C1.Web.UI.Controls.C1GridView.C1GridViewSortEventArgs e)
  2.         {
  3.             //e.SortDirection   排序方向
  4.             //e.SortExpression  排序列
  5.         }
复制代码


2、第一次点击列的排序方式都是升序,无法设置为降序。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-9-16 10:06:00
10#
我做了一个简单的Demo,页面C1GridViewTest1中有两个隐藏的TextBox用于存放SortDirection和SortExpression,在点击页面Button时将最后一次的排序信息作为Reques参数传递到下一页面Page1中,Page1的Load事件中取得传递过来的排序信息并保起来。

需要注意的是你每列绑定的类型,我使用的是C1BoundField ,所以在代码中就将列转换为了C1BoundField :
  1.                     foreach (C1BoundField item in C1GridView1.Columns)
  2.                     {
  3.                         if (_sortExpression.Equals(item.SortExpression))
  4.                         {
  5.                             item.SortDirection = (C1SortDirection)Enum.Parse(typeof(C1SortDirection), _sortDirection);
  6.                         }
  7.                     }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部