找回密码
 立即注册

QQ登录

只需一步,快速开始

piaosongasxs

新手上路

1

主题

2

帖子

27

积分

新手上路

积分
27
  • 25

    金币

  • 主题

  • 帖子

最新发帖
piaosongasxs
新手上路   /  发表于:2012-11-13 16:56  /   查看:6529  /  回复:3
我想要对绑定后的数据进行排序,并且在变更关键字段后按照此字段重新进行排序。不过,一直没有反映。

代码1 关键字段变更:
  1. protected void ChangAssessment()
  2.         {
  3.             string assComment = this.hiddenAssComment.Value;

  4.             if(assComment == "U")
  5.             {
  6.                 switch (fpList.ActiveSheetView.GetValue(fpList.ActiveSheetView.ActiveRow, 6).ToString())  //关键字段 第6列
  7.                 {
  8.                     case "A":
  9.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 6, "S");
  10.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 11, "4");  //关键字段变更同时 第11列的排序参照值也发生变更
  11.                         break;
  12.                     case "B":
  13.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 6, "A");
  14.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 11, "3");
  15.                         break;
  16.                     case "C":
  17.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 6, "B");
  18.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 11, "2");
  19.                         break;
  20.                     
  21.                 }
  22.             }
  23.             else if(assComment == "D")
  24.             {
  25.                 switch (fpList.ActiveSheetView.GetValue(fpList.ActiveSheetView.ActiveRow, 6).ToString())
  26.                 {
  27.                     case "S":
  28.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 6, "A");
  29.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 11, "3");
  30.                         break;
  31.                     case "A":
  32.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 6, "B");
  33.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 11, "2");
  34.                         break;
  35.                     case "B":
  36.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 6, "C");
  37.                         fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 11, "1");
  38.                         break;
  39.                     
  40.                 }
  41.             }

  42.             fpList.ActiveSheetView.SetValue(fpList.ActiveSheetView.ActiveRow, 10, "U");
  43.         }
复制代码


代码2 排序设置:
  1.         protected void SetSort()
  2.         {
  3.             //Sort
  4.             SortInfo desc = new SortInfo(0, false);
  5.             SortInfo[] si = new SortInfo[] { desc };
  6.             this.fpList.ActiveSheetView.SortColumns(11, 1, si);
  7.             fpList.SaveChanges();

  8.         }
复制代码

3 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-14 11:12:00
沙发
回复 1楼piaosongasxs的帖子

piaosongasxs 你好

我查看了你的代码,这一行应该是这行代码中指定的参数导致看不到排序效果:
this.fpList.ActiveSheetView.SortColumns(11, 1, si);

第二个参数,是排序的列数,如果指定为1的话就看不出排序效果,至少需要2列才能看出效果
回复 使用道具 举报
piaosongasxs
新手上路   /  发表于:2012-11-14 15:12:00
板凳
回复 2楼dof的帖子

那样的话是不是我需要把第11列的值放置到第一列
然后第二个参数是ActiveSheetView.ColumnsCount
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-14 16:14:00
地板
对的,第一个参数指的是从第一列开始排序,第二个参数指的是参与排序的列数。

你也可以尝试修改这两个参数的值,来查看这两个参数的具体含义。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部