找回密码
 立即注册

QQ登录

只需一步,快速开始

dbtxwds

论坛元老

10

主题

27

帖子

5554

积分

论坛元老

积分
5554

活字格认证

dbtxwds
论坛元老   /  发表于:2013-8-13 14:46  /   查看:7305  /  回复:4
单元格的第一列的CellType是CheckBox类型,如何获取所有被选中行的房号?如下图所示:

13.PNG

12.PNG

4 个回复

倒序浏览
Ally
葡萄城公司职员   /  发表于:2013-8-13 16:30:00
沙发
如果CheckBox被选中,那么cell的Value为true,所以您可以通过判断第一列cell的value值,如果为true就说明checkbox被选中,这时您可以获取对应的房号。
回复 使用道具 举报
dbtxwds
论坛元老   /  发表于:2013-8-14 14:28:00
板凳
这个只能去循环所有的Rows来判断第一列是否选中吗?如果数据量大的话是不是会影响性能,有没有什么快速的方法?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-14 18:13:00
地板
回复 3楼dbtxwds的帖子

问题处理中,明天回复。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-9-2 09:16:00
5#
回复 3楼dbtxwds的帖子

dbtxwds 你好,

如果初始状态相同,我们可以通过抓取 CheckBox 的点击事件来获取选中行,否则只能通过循环获取,参考代码:

  1. private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             FarPoint.Win.Spread.CellType.CheckBoxCellType ckbxcell = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
  4.             ckbxcell.TextAlign = FarPoint.Win.ButtonTextAlign.TextRightPictLeft;
  5.             ckbxcell.Caption = "Item Selected?";
  6.             ckbxcell.EditorValueChanged += new EventHandler(ckbxcell_EditorValueChanged);
  7.             fpSpread1.Sheets[0].Cells[2, 2].CellType = ckbxcell;

  8.         }

  9.         void ckbxcell_EditorValueChanged(object sender, EventArgs e)
  10.         {
  11.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部