找回密码
 立即注册

QQ登录

只需一步,快速开始

guyue

中级会员

19

主题

100

帖子

835

积分

中级会员

积分
835
guyue
中级会员   /  发表于:2017-9-7 13:35  /   查看:3578  /  回复:8
当点击CheckBox单元格的时候,怎么获得当前单元格的属性?

现在是当离开这个单元格的时候,可以获得这个单元格的属性。

8 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2017-9-7 15:53:03
沙发
您好,您说鼠标离开的是可以获得单元格属性,同理我们可以通过鼠标Over事件来获取当前单元格。希望能帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
guyue
中级会员   /  发表于:2017-9-7 15:57:52
板凳
我是想在鼠标点击的时候 来获取当前单元格  请问用哪个事件?
有没有相应的例子?
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-9-7 18:00:37
地板
guyue 发表于 2017-9-7 15:57
我是想在鼠标点击的时候 来获取当前单元格  请问用哪个事件?
有没有相应的例子?

您好,鼠标点击事件KeyDown事件,这个没有相应的例子,希望能帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
guyue
中级会员   /  发表于:2017-9-8 08:29:35
5#
我知道 C1FlexGrid控件上,在PreviewMouseLeftButtonUp事件里,
通过C1.WPF.FlexGrid.HitTestInfo hti = fgGendat.HitTest(e.GetPosition((IInputElement)sender)); 转换后
就能得到当前点击的单元格的属性  
请问C1DataGrid控件上有没有类似转换方法?
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-9-8 11:19:57
6#
guyue 发表于 2017-9-8 08:29
我知道 C1FlexGrid控件上,在PreviewMouseLeftButtonUp事件里,
通过C1.WPF.FlexGrid.HitTestInfo hti = f ...

您好,稍等一下,我帮您测试下。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-9-8 16:42:40
7#
JeffryLI 发表于 2017-9-8 11:19
您好,稍等一下,我帮您测试下。

您好,建议您可以使用selectionchanged事件
  1. private void Grid_SelectionChanged(object sender, C1.WPF.DataGrid.DataGridSelectionChangedEventArgs e)
  2.         {
  3.             var row = e.AddedRanges.Rows[0];
  4.             var column = e.AddedRanges.Columns[0];
  5.             C1.WPF.DataGrid.DataGridCell cell = grid.GetCell(row.Index, column.Index);
  6.         }
复制代码

希望能帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
guyue
中级会员   /  发表于:2017-9-8 17:27:16
8#
你这个不行,当我点击其他列的时候,也会多次调用这个方法,并且也会取到第14列,代码如下:

        public void Grid_SelectionChanged(object sender, C1.WPF.DataGrid.DataGridSelectionChangedEventArgs e)
        {
            if (e.AddedRanges.Rows.Count <= 0) return;

            var row = e.AddedRanges.Rows[0];
            var column = e.AddedRanges.Columns[0];
           if (column.Index == 14)
            {
                BtnApplyIsEnabled = true;
            }
        }

我想要的效果是只有点击14列的时候 才能把BtnApplyIsEnabled 设为true,你给的例子是只要选择行发生变化 都会进到if (column.Index == 14)这个条件里
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-9-11 10:07:20
9#
您好,您的选的模式SelectionMode不对,我给您的代码,需要设置为SingleCell属性,请参照。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部