找回密码
 立即注册

QQ登录

只需一步,快速开始

Richard.Ma 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-1-5 10:00  /   查看:614  /  回复:0

有些用户的使用场景中,需要flexgrid在行头展示行号。这个行号需要一直保持不变。不随表格内数据的排序等等发生变化

FlexGrid本身没有提供这个功能,但是,flexgrid提供了通过重写CellFactory方式来自定义单元格,包括行头单元格也是可以用这种方式。


实现步骤:


1.自定义一个CellFactory,仅需要重写CreateRowHeaderContent方法(此方法会在绘制行头单元格时候使用),给绘制的边框中加上行号



  1.     public class CustomCellFactory : CellFactory
  2.     {
  3.         public override void CreateRowHeaderContent(C1FlexGrid grid, Border bdr, CellRange rng)
  4.         {
  5.             if (rng.Column == 0)
  6.             {
  7.                 bdr.Child = new TextBlock() { Text = rng.Row.ToString(),HorizontalAlignment= HorizontalAlignment.Center };
  8.             }
  9.         }
  10.     }
复制代码



2.给grid的CellFactory属性设置为此类的实例化对象
  1. grid.CellFactory= new CustomCellFactory();
复制代码



最终的效果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部