C1FlexGrid在行头没有显示默认的序号,本文就来介绍如何在行头显示行号。
实现主要有两种方式:
第一种:使用CellFactory
首先需要展示行头,然后通过设置CellFactory实现。
代码参考:
// turn on row headers c1FlexGrid1.HeadersVisibility = HeadersVisibility.All; //add row header column c1FlexGrid1.RowHeaders.Columns.Add(new Column()); // set CellFactory c1FlexGrid1.CellFactory = new MyCellFactory();
其次,重写Cell factory。
通过Text设置序号,并且通过HorizontalAlignment和VerticalAlignment属性设置居中显示。
代码参考:
public class MyCellFactory : CellFactory { // static fields static Thickness _thicknessEmpty = new Thickness(0); public override void CreateRowHeaderContent(C1FlexGrid grid, Border bdr, CellRange rng) { // first column contains numbers if (rng.Column == 0) { var tb = new TextBlock(); tb.HorizontalAlignment = HorizontalAlignment.Center; tb.VerticalAlignment = VerticalAlignment.Center; tb.Text = string.Format("{0}", rng.Row + 1); bdr.Padding = _thicknessEmpty; bdr.Child = tb; } } }
添加的序号如图,居中显示:
本方法详细的代码,请下载示例:
第二种方法:循环设置
通过代码循环flexgrid的每一行,然后给行头设置序号。
代码参考:
for (int i = 0; i < c1FlexGrid.Rows.Count; i++) {
c1FlexGrid.RowHeaders[i, 0] = _vm.PageSize * (_vm.PageIndex - 1) + i + 1;
}
本文完,如果有兴趣请关注更多资源。
更多资源
C1FlexGrid在线英文产品文档地址:
http://helpcentral.componentone.com/nethelp/c1wpfchart/#!Documents/componentonechartforwpf.htm
如果你对C1FlexGrid感兴趣,请到我们的官网下载最新版本:/download/?pid=6
如果你有疑问,可以到GCDN论坛获得技术支持:http://gcdn.grapecity.com.cn/showforum-138.html