taoyuansoft 发表于 2023-3-7 11:31:33

C1FlexGrid分组后,新增行时,显示在首行的问题

使用C1FlexGrid控件,设置了分组,且分组条件不为空,当新增行时,新增的行在首行,现在需要将新增的行放在尾部,怎么实现??

Richard.Ma 发表于 2023-3-7 11:31:34

本帖最后由 Richard.Ma 于 2023-3-8 10:57 编辑

收到,分组其实首先就是排序,所以应该是分组算法里,对行进行了逆序排序,所以插入的行号会在最上方


建议可以通过下面的方法来解决,也就是在克隆前先取消分组,设置完后再重新分组
            udcC1FlexGrid1.BeginUpdate();
            var gd = udcC1FlexGrid1.GroupDescriptions;
            udcC1FlexGrid1.ShowByGroup(null);
            foreach (C1.Win.C1FlexGrid.Row row in udcC1FlexGrid1.SelectedRows)
            {
                C1.Win.C1FlexGrid.Row tmprow = udcC1FlexGrid1.Rows.Add();
                for (int c = 0; c < udcC1FlexGrid1.Cols.Count; c++)
                {
                  if (c == 2)
                        tmprow = 999;
                  else
                        tmprow = row;
                  

                }
            }
            udcC1FlexGrid1.GroupDescriptions = gd;
            udcC1FlexGrid1.EndUpdate();

Richard.Ma 发表于 2023-3-7 17:24:23

我没明白你说的“新增行时,新增的行在首行”这个你具体是怎么操作的

最好可以上传一个重现问题的demo.我帮你看看原因

taoyuansoft 发表于 2023-3-7 17:50:05

Richard.Ma 发表于 2023-3-7 17:24
我没明白你说的“新增行时,新增的行在首行”这个你具体是怎么操作的

最好可以上传一个重现问题的demo. ...

麻烦您看一下视频,不分组时,点击克隆,克隆的行在已添加数据行的下面;分组后,点击克隆,克隆的行在已添加数据行的上面;
现在,我想要的效果是,分组后,点击克隆,克隆的行也在已添加数据行的下面,这该怎么设置??

Richard.Ma 发表于 2023-3-7 18:33:39

关键是,我不知道你点击克隆按钮后,到底是在后端执行了什么代码,想要实现什么逻辑。

你还是上传一个demo上来,我帮你分析一下两次的结果为什么会有不同

taoyuansoft 发表于 2023-3-7 20:14:51

Richard.Ma 发表于 2023-3-7 18:33
关键是,我不知道你点击克隆按钮后,到底是在后端执行了什么代码,想要实现什么逻辑。

你还是上传一个de ...

麻烦您看一下
页: [1]
查看完整版本: C1FlexGrid分组后,新增行时,显示在首行的问题