chenfeng1029 发表于 2019-8-19 16:16:29

C1Flexgrid单击单元格,是否可以设置全选单元格内容

C1Flexgrid单击单元格,是否可以设置全选单元格内容

Richard.Ma 发表于 2019-8-19 16:16:30

可以在MouseClick事件添加下面的代码

      private void C1FlexGrid1_MouseClick(object sender, MouseEventArgs e)
      {
            HitTestInfo ht=c1FlexGrid1.HitTest(e.X, e.Y);
            if (ht.Column > 0 && ht.Row > 0)
            {
                c1FlexGrid1.StartEditing();

            }
      }

chenfeng1029 发表于 2019-8-20 10:10:13

Richard.Ma 发表于 2019-8-19 16:16
可以在MouseClick事件添加下面的代码

谢谢。

Richard.Ma 发表于 2019-8-20 11:36:57

不客气

笨小孩 发表于 2023-1-4 13:46:46

Richard.Ma 发表于 2019-8-20 11:36
不客气

MouseDoubleClick 事件中不支持 StartEditing()吗,我设置了无效

Richard.Ma 发表于 2023-1-4 16:20:45

我们没有明白你的需求,flexgrid默认的双击行为就是进入编辑状态,为什么你要再设置一次呢?

笨小孩 发表于 2023-1-5 09:51:31

Richard.Ma 发表于 2023-1-4 16:20
我们没有明白你的需求,flexgrid默认的双击行为就是进入编辑状态,为什么你要再设置一次呢?

双击选中单元格时要全选单元格中的全部文字,现在全选不了文字 ,我看编辑状态时全选文字的!

编辑表格能实现如下功能吗:
      单元格能实现处于编辑的状态时,鼠标移开该单元格还处于编辑状态, 只有单击其他单元格或者按 Enter 建才取消编辑状态。

Richard.Ma 发表于 2023-1-5 12:08:42

关于第一个问题,因为双击单元格进入编辑状态这是系统已经有内置的行为逻辑了,你这边执行startediting无效的原因应该是执行先后顺序的问题
帮你验证了一下可以这样写
      private void C1FlexGrid2_MouseDoubleClick(object sender, MouseEventArgs e)
      {
            c1FlexGrid2.FinishEditing();
            Task.Run(() => {
                c1FlexGrid2.Invoke(new Action(() => {
                  c1FlexGrid2.StartEditing();
                }));
            });
      }




单元格能实现处于编辑的状态时,鼠标移开该单元格还处于编辑状态, 只有单击其他单元格或者按 Enter 建才取消编辑状态。

你这个需求目前产品默认就是这样的吧。鼠标离开单元格并不会退出编辑。当然如果你鼠标是点击了其他控件,这个flexgrid控件失去焦点了,那肯定是会退出编辑的,这个没有什么办法
页: [1]
查看完整版本: C1Flexgrid单击单元格,是否可以设置全选单元格内容