找回密码
 立即注册

QQ登录

只需一步,快速开始

dc22wt

论坛元老

21

主题

95

帖子

9445

积分

论坛元老

积分
9445

活字格认证

dc22wt
论坛元老   /  发表于:2013-12-31 11:11  /   查看:12623  /  回复:13
QQ截图20131231110830.png 第一列的列头我设为全选,但是不能单击这个列头,请问要怎么做,谢谢

13 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2013-12-31 11:18:00
沙发
回复 1楼dc22wt的帖子

请问,双击可以改变 Check、UnCheck状态吗?

CheckBoxCellType,单击是选中,双击是改变状态。
回复 使用道具 举报
dc22wt
论坛元老   /  发表于:2013-12-31 11:21:00
板凳
还有个问题这个总计这一栏,我要选中的才相加该怎么写啊
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-12-31 11:48:00
地板
回复 3楼dc22wt的帖子

1 可通过响应: FpSpread.ButtonClicked

  1. public Form1()
  2.         {
  3.             InitializeComponent();
  4.             this.fpSpread1.ButtonClicked += fpSpread1_ButtonClicked;
  5.         }

  6.         void fpSpread1_ButtonClicked(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)
  7.         {
  8.             if (e.EditingControl is FarPoint.Win.FpCheckBox)
  9.             {
  10.                 FarPoint.Win.FpCheckBox fpCheckBox = e.EditingControl as FarPoint.Win.FpCheckBox;
  11.                 bool isChecked = fpCheckBox.Checked;
  12.                 CheckState checkState = fpCheckBox.CheckState;
  13.                 fpCheckBox.CheckStateChanged += fpCheckBox_CheckStateChanged;
  14.             }
  15.         }

  16.         void fpCheckBox_CheckStateChanged(object sender, EventArgs e)
  17.         {

  18.         }
复制代码


2 你可能会遇到的问题: 全选--怎么触发其他CheckBoxCellType
   关于checkbox 一起选中的问题
回复 使用道具 举报
dc22wt
论坛元老   /  发表于:2013-12-31 12:39:00
5#
回复 2楼roger.wang的帖子

双击也不行,都是选中当前列
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-2 08:39:00
6#
回复 5楼dc22wt的帖子

不行?  :~

请给个demo,我帮您定位一下看。
回复 使用道具 举报
dc22wt
论坛元老   /  发表于:2014-1-2 11:04:00
7#
我说的不行是我点击列头的时候它只会选中整列,单击和双击都改变不了checkbox的状态
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-2 11:18:00
8#
回复 7楼dc22wt的帖子

参考一下http://gcdn.grapecity.com/showtopic-10877.html  
5楼的解决办法,即通过“抓取 CheckBox 的点击事件”
回复 使用道具 举报
dc22wt
论坛元老   /  发表于:2014-1-3 11:28:00
9#
QQ截图20140103111826.png
if (e.Column == 0)
                {
                    if (e.Row > -1)
                    {
                        fpSpread2_Sheet1.Cells[e.Row, e.Column].Value = !(bool)(fpSpread2_Sheet1.Cells[e.Row, e.Column].Value);
                    }
                    if (e.ColumnHeader)
                    {
                        fpSpread2_Sheet1.ColumnHeader.Cells[0, 0].Value = !(bool)(fpSpread2_Sheet1.ColumnHeader.Cells[0, 0].Value);
                    }
                }
想到用这种方式去解决我的问题,但是列头的"全选"不知道用哪个属性写上去?还有,列头点击的时候会全选这一列,这样就会导致点击列头时两个条件会同时执行,不知道怎么取消列头点击的时候取消当前列的全选?斑竹说的Button_click事件,当我设置ReadOnly的模式的时候,该事件不会有响应,还有一个问题,就是ReadOnly的模式的时候鼠标是十字交叉,请问我怎么找到这个时候的CURSOR的设置?谢谢
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-3 12:13:00
10#
回复 9楼dc22wt的帖子

您好, 经过上面9次的沟通, 针对这个问题目前已经比较清晰了:问题是啥、初步的解决办法。

方便的话,给个demo,我在您的基础上修改一下,这样快点, 您说呢?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部