guyue 发表于 2017-9-7 13:35:03

C1DataGrid的DataGridCheckBoxColumn列

当点击CheckBox单元格的时候,怎么获得当前单元格的属性?

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

JeffryLI 发表于 2017-9-7 15:53:03

您好,您说鼠标离开的是可以获得单元格属性,同理我们可以通过鼠标Over事件来获取当前单元格。希望能帮到您。

guyue 发表于 2017-9-7 15:57:52

我是想在鼠标点击的时候 来获取当前单元格请问用哪个事件?
有没有相应的例子?

JeffryLI 发表于 2017-9-7 18:00:37

guyue 发表于 2017-9-7 15:57
我是想在鼠标点击的时候 来获取当前单元格请问用哪个事件?
有没有相应的例子?
您好,鼠标点击事件KeyDown事件,这个没有相应的例子,希望能帮到您。

guyue 发表于 2017-9-8 08:29:35

我知道 C1FlexGrid控件上,在PreviewMouseLeftButtonUp事件里,
通过C1.WPF.FlexGrid.HitTestInfo hti = fgGendat.HitTest(e.GetPosition((IInputElement)sender)); 转换后
就能得到当前点击的单元格的属性
请问C1DataGrid控件上有没有类似转换方法?

JeffryLI 发表于 2017-9-8 11:19:57

guyue 发表于 2017-9-8 08:29
我知道 C1FlexGrid控件上,在PreviewMouseLeftButtonUp事件里,
通过C1.WPF.FlexGrid.HitTestInfo hti = f ...

您好,稍等一下,我帮您测试下。

JeffryLI 发表于 2017-9-8 16:42:40

JeffryLI 发表于 2017-9-8 11:19
您好,稍等一下,我帮您测试下。

您好,建议您可以使用selectionchanged事件
private void Grid_SelectionChanged(object sender, C1.WPF.DataGrid.DataGridSelectionChangedEventArgs e)
      {
            var row = e.AddedRanges.Rows;
            var column = e.AddedRanges.Columns;
            C1.WPF.DataGrid.DataGridCell cell = grid.GetCell(row.Index, column.Index);
      }
希望能帮到您。

guyue 发表于 2017-9-8 17:27:16

你这个不行,当我点击其他列的时候,也会多次调用这个方法,并且也会取到第14列,代码如下:

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

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

我想要的效果是只有点击14列的时候 才能把BtnApplyIsEnabled 设为true,你给的例子是只要选择行发生变化 都会进到if (column.Index == 14)这个条件里

JeffryLI 发表于 2017-9-11 10:07:20

您好,您的选的模式SelectionMode不对,我给您的代码,需要设置为SingleCell属性,请参照。
页: [1]
查看完整版本: C1DataGrid的DataGridCheckBoxColumn列