给WPF FlexGrid的行头设置行号
有些用户的使用场景中,需要flexgrid在行头展示行号。这个行号需要一直保持不变。不随表格内数据的排序等等发生变化
FlexGrid本身没有提供这个功能,但是,flexgrid提供了通过重写CellFactory方式来自定义单元格,包括行头单元格也是可以用这种方式。
实现步骤:
1.自定义一个CellFactory,仅需要重写CreateRowHeaderContent方法(此方法会在绘制行头单元格时候使用),给绘制的边框中加上行号
public class CustomCellFactory : CellFactory
{
public override void CreateRowHeaderContent(C1FlexGrid grid, Border bdr, CellRange rng)
{
if (rng.Column == 0)
{
bdr.Child = new TextBlock() { Text = rng.Row.ToString(),HorizontalAlignment= HorizontalAlignment.Center };
}
}
}
2.给grid的CellFactory属性设置为此类的实例化对象
grid.CellFactory= new CustomCellFactory();
最终的效果
页:
[1]