FlexGrid for WPF 帮助文档
非绑定模式

C1FlexGrid 被设计用来和ICollectionView数据源配合使用,充分利用其提供的功能。

但是它也可以工作在非绑定模式。如果您仅向Grid添加行和列,则您可可以通过下面所示熟悉的索引表示法获取或设置单元格的值:

C#
拷贝代码
// 为非绑定模式的Grid添加行和列
for (int i = 0; i < 20; i++)
{
  fg.Columns.Add(new Column());
}
for (int i = 0; i < 500; i++)
{
  fg.Rows.Add(new Row());
}

// 填充非绑定Grid
for (int r = 0; r < fg.Rows.Count; r++)
{
  for (int c = 0; c < fg.Columns.Count; c++)
  {
    fg[r, c] = string.Format("cell [{0},{1}]", r, c);
  }
}

索引表示法应当也是C1FlexGrid用户所熟悉的。这是和该控件的WinForms版本所实现的同样的表示方法。可以指定行和列索引、行索引和列名称、或行索引和列对象指定单元格。

索引表示法针对绑定和非绑定模式同样有效。在绑定模式中,将获取或者应用位于数据源中各个项目的数据。在绑定模式下,数据是由Grid内部存储。

WinForms 以及Silverlight及WPF版本C1FlexGrid控件之间一个最重要的区别在于,该控件的WinForms版本,索引包含固定的行和列。在Silverlight及WPF版,固定的行和列不包括在内。

下图显示了在Grid的WinForms版本中,单元格索引的方案:

0,0 0,1 0,2 0,3
1,0 1,1 1,2 1,3
2,0 2,1 2,2 2,3
3,0 3,1 3,2 3,3

下图显示了在Silverlight及WPF版Grid中使用的新的单元格索引方案:

0,0 0,1 0,2
1,0 1,1 1,2
2,0 2,1 2,2

新的标注方式使得索引更加容易使用,因为索引将匹配数据项的索引值(第零行包含索引值为零的项),同时列数匹配显示的属性个数。

唯一的缺点是,您需要一种新的方法来访问固定的单元格的内容,而不是使用标准的索引方案。这种新的方法由额外的叫做RowHeaders以及ColumnHeaders的属性组成。

这些属性返回一个GridPanel类型的对象,该对象可以被看作具有其行和列的集合的“子-Grid”。
例如,您可以使用以下代码来自定义行标题:

C#
拷贝代码
// 获得Grid的行标题
GridPanel rh = fg.RowHeaders;

// 向Grid添加一个新的固定列
rh.Columns.Add(new Column());

// 设置宽度和行标题内容
for (int c = 0; c < rh.Columns.Count; c++)
{
  //该列的宽度
  rh.Columns[c].Width = 60;
  for (int r = 0; r < rh.Rows.Count; r++)
  {
    // 该单元格的内容
    rh[r, c] = string.Format("hdr {0},{1}", r, c);
  }
}

注意这里GridPanel类提供了和主Grid一样的Rows和Columns集合,并支持一样的索引表示法。您可以使用和操作Grid内容区域单元格(可滚动区域)相同的技术自定义以及填充行头和列头。

查看其它

 

 


产品网站:http://www.gcpowertools.com.cn  |  咨询热线:4006576008   |   ©2015 西安葡萄城