C1FlexGrid for WPF:在行头展示行号

C1FlexGrid在行头没有显示默认的序号,本文就来介绍如何在行头显示行号。实现主要有两种方式

发布于 2016/02/16 00:00

ComponentOne Enterprise

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_indicator

 

本方法详细的代码,请下载示例:

第二种方法:循环设置

通过代码循环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

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态