找回密码
 立即注册

QQ登录

只需一步,快速开始

过冬

注册会员

3

主题

9

帖子

45

积分

注册会员

积分
45
最新发帖
过冬
注册会员   /  发表于:2021-6-21 09:37  /   查看:4355  /  回复:7
1金币
求助,不想在xaml.cs中修改,能不能有什么方法在ViewModel中设置行号码,并且使用AllowAddNew="True"的时候,自动追加的新行号是原有的星号呢

最佳答案

查看完整内容

谢谢回复 我的第一个问题,还是需要用CellFactory,我理解了。 那么第二个问题,关于星号我是用以下方法实现的。我想问一下,这个星号必须自己设定吗?我记得不改写行号之前,新行本身就是显示星号的。除了我以下的方法,还有别的方法吗? public class MyCellFactory : CellFactory { public override void CreateRowHeaderContent(C1FlexGrid grid, Border bdr, CellRange rng) ...

7 个回复

倒序浏览
最佳答案
最佳答案
过冬
注册会员   /  发表于:2021-6-21 09:37:52
来自 7#
Richard.Ma 发表于 2021-6-21 16:03
我想了一下,其实你需要的RowNumber就是相当于一个自增的数据列,

但是一旦这个和ViewModel绑定,那么在 ...

谢谢回复
我的第一个问题,还是需要用CellFactory,我理解了。
那么第二个问题,关于星号我是用以下方法实现的。我想问一下,这个星号必须自己设定吗?我记得不改写行号之前,新行本身就是显示星号的。除了我以下的方法,还有别的方法吗?

        public class MyCellFactory : CellFactory
        {
            public override void CreateRowHeaderContent(C1FlexGrid grid, Border bdr, CellRange rng)
            {

                if (rng.Column == 0)
                {
                    var tb = new TextBlock();
                    
                    if (grid.Rows.Count - 1 > rng.Row)
                    {
                        tb.Text = string.Format("{0}", rng.Row + 1);
                    }
                    else
                    {
                        tb.Text = "*";
                    }
                  
                    tb.HorizontalAlignment = HorizontalAlignment.Center;
                    tb.VerticalAlignment = VerticalAlignment.Center;
                    bdr.Child = tb;
                }
            }
        }
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-21 10:38:43
2#
我看你标题写的就只是要显示行序号,内容中说的“自动追加的新行号是原有的星号”是什么意思呢?

回复 使用道具 举报
过冬
注册会员   /  发表于:2021-6-21 10:49:55
3#
谢谢回复!是这样的,我是再用MVVM模式写一个wpf的表。

其中有2个要求。

1.这个表需要显示行号,但是行号的实现不想在xaml.cs里用【CellFactory】来实现,有没有在ViewModels里动态绑定的方法呢?

2.这个表还要始终显示一个新的行,用到了AllowAddNew="True",这样行列号就会显示星号。但是担心要求1的显示的行号会与2的星号起冲突,有没有解决的方法呢?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-21 12:30:33
4#
收到,下午帮你验证然后给你回复
回复 使用道具 举报
过冬
注册会员   /  发表于:2021-6-21 13:20:54
5#
Richard.Ma 发表于 2021-6-21 12:30
收到,下午帮你验证然后给你回复

谢谢,麻烦你了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-21 16:03:38
6#
我想了一下,其实你需要的RowNumber就是相当于一个自增的数据列,

但是一旦这个和ViewModel绑定,那么在对表格进行排序或者筛选等操作后,实际上就无法起到行号的作用了,所以还是只能通过CellFactory来实现
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-21 17:37:16
8#
目前自定义内容就是通过CellFactory,没有其他更好的办法了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部