找回密码
 立即注册

QQ登录

只需一步,快速开始

dingchuan

论坛元老

6

主题

23

帖子

4026

积分

论坛元老

积分
4026

活字格认证

最新发帖
dingchuan
论坛元老   /  发表于:2013-1-24 15:20  /   查看:9445  /  回复:9
你好,我现在有一个C1FlexGrid,他的高度是可以显示10条数据,但是现在我只显示了3条数据,其他部位空白。
我现在想在有数据的地方执行双击事件,或者是说执行双击事件时,能否判断出我当前双击的部位是有数据的那一行,还是双击在空白处了。麻烦帮我整个解决方案,非常感谢~

9 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-1-24 17:12:00
沙发
回复 1楼dingchuan的帖子

尝试一下代码:

  1. private void c1FlexGrid1_DoubleClick(object sender, MouseButtonEventArgs e)
  2.         {
  3.             var ht = c1FlexGrid1.HitTest(e);
  4.             if (ht.CellType!=null)
  5.             {
  6.             }
  7.         }
复制代码
回复 使用道具 举报
dingchuan
论坛元老   /  发表于:2013-1-24 18:11:00
板凳
根据你的代码,我断点调试了一下,发现双击空白处时ht.CellType的值是None,
而不是null,我不知道什么时候会出现null的情况
所以是不是应该写成如下形式?

  1. if (ht.CellType != CellType.None)
  2.             {
  3.                
  4.             }
复制代码
回复 使用道具 举报
dingchuan
论坛元老   /  发表于:2013-1-24 18:27:00
地板
另外,再问一下,C1FlexGrid显示的时候默认奇数行和偶数行显示的背景色是不同的,
偶数行背景色都变成了白色,请问怎么能使偶数行的背景色不进行变色,保持与奇数行同色。
因为我使用了C1FlexGrid的合并单元格功能,把某些列的相邻行进行了合并,合并之后行背景色变的很杂乱。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-1-25 10:17:00
5#
回复 3楼dingchuan的帖子

不好意思,你可以尝试以下代码:

  1.         private void c1FlexGrid1_DoubleClick(object sender, MouseButtonEventArgs e)
  2.         {
  3.             var ht = c1FlexGrid1.HitTest(e);
  4.             if (ht.Rect.IsEmpty == true)
  5.             {

  6.             }
  7.         }
复制代码

Rect 属性代表当前点击单元格的边界 Rect 信息。如果为空即为点击空白位置。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-1-25 11:18:00
6#
回复 4楼dingchuan的帖子

你好,
可以使用以下代码进行修改:
  1. for (int i = 0; i < this.c1FlexGrid1.Rows.Count; i++)
  2.             {
  3.                 if (i%2==0)
  4.                 {
  5.                     this.c1FlexGrid1.Rows[i].Background = new SolidColorBrush(Colors.Gray);
  6.                 }
  7.             }
复制代码
回复 使用道具 举报
dingchuan
论坛元老   /  发表于:2013-1-25 14:16:00
7#
你好,请问C1FlexGrid的表头的高度怎么设置,我想让表头高一点。麻烦了
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-1-28 10:13:00
8#
回复 7楼dingchuan的帖子

你好,
请参考以下代码:
  1.   this.c1FlexGrid1.ColumnHeaders.Rows[0].Height = 200;
复制代码
回复 使用道具 举报
dingchuan
论坛元老   /  发表于:2013-1-29 08:50:00
9#
非常感谢~
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-1-29 11:53:00
10#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部