找回密码
 立即注册

QQ登录

只需一步,快速开始

senyugo

银牌会员

25

主题

78

帖子

3353

积分

银牌会员

积分
3353

活字格认证

senyugo
银牌会员   /  发表于:2014-2-19 18:20  /   查看:11381  /  回复:10
如题
如何实现点spread的头然后按该列排序

还有一个问题就是
怎么锁住单元格,让他不可编辑

10 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-2-20 09:16:00
沙发
回复 1楼senyugo的帖子

问题1:排序,试试

  1. fpSpread1.ActiveSheet.AutoSortColumn(0);

  2. FarPoint.Win.Spread.Column col;
  3. col = fpSpread1.ActiveSheet.Columns[0];
  4. fpSpread1.ActiveSheet.Cells[0, 0].Text = "Alignment";
  5. fpSpread1.ActiveSheet.Cells[1, 0].Text = "CarbAdjust";
  6. fpSpread1.ActiveSheet.Cells[2, 0].Text = "Brakes";
  7. col.SortIndicator = FarPoint.Win.Spread.Model.SortIndicator.Descending;
  8. col.ShowSortIndicator = true;
  9. col.AllowAutoSort = true;
复制代码


问题2:锁住单元格,不能编辑,用 cell.Locked = true 试试。

备注:
建议一个主题帖子一个问题,这样便于知识传播和分享。
另外,发2个主题帖子您也可多得积分的。
回复 使用道具 举报
senyugo
银牌会员   /  发表于:2014-2-20 10:38:00
板凳
回复 2楼roger.wang的帖子

谢谢提供的方案,不好意思有些我没有描述清楚。
我试过了以上的方法,但是呢,我不想要多出来的箭头,是只要鼠标点击头部,就可以实现排序,
并且我的画面是会有单选按钮设置时升序还是降序。
例   选择升序 → 按一列头 → 如果已经按升序排则不再排序
      选择升序 → 按一列头 → 如果无序或者倒序则按升序排列

关于锁定的问题

我要的是整个spread locked
是不是只要属性里Locked = true 即可?
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-20 11:36:00
地板
回复 3楼senyugo的帖子

问题1: 排序
排序箭头的隐藏这里有一个帖子,供您参考:
http://gcdn.gcpowertools.com.cn/showtopic-11801.html

问题2:锁定
还需要调用一下这行代码:fpSpread1.ActiveSheet.Protect = true;
再设置Locked = true。
帮助手册API路径:Spread Windows Forms 7.0 Product Documentation > Developer's Guide > Customizing Interaction in Cells > Using Edit Mode and Focus > Locking a Cell
回复 使用道具 举报
senyugo
银牌会员   /  发表于:2014-2-20 13:16:00
5#
回复 4楼roger.wang的帖子

请问一下图片Resources.Untitled怎么来
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-20 14:07:00
6#
回复 5楼senyugo的帖子

通过.net工程添加一个图片的资源,添加后,可通过.net自带的类Resources访问了。

我是顺手画了一个png的透明图片。
回复 使用道具 举报
senyugo
银牌会员   /  发表于:2014-2-20 15:34:00
7#
回复 6楼roger.wang的帖子

还是自己写了个排序事件  谢谢
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-20 17:24:00
8#
回复 7楼senyugo的帖子

呵呵,能帖上来分享一下解决办法吗?
回复 使用道具 举报
senyugo
银牌会员   /  发表于:2014-2-20 17:32:00
9#
解决思路
将取好的数据放在一个static的datatable里面,初期化时对spread赋值
然后用spread的click事件
判断鼠标点的header行的时候
根据取到的列对datatable里数据排序,直接用datatable自带的排序属性,
然后重新给spread
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-20 17:36:00
10#
回复 9楼senyugo的帖子

  必须加精啊
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部