CheckBox在C1.Win.C1FlexGrid网格的Header(Fixed)行中

时间:2013-04-05 18:02:35

标签: checkbox componentone c1flexgrid

我的问题是“有没有办法在C1.Win.C1FlexGrid中的固定行单元格内使用CheckBox?”。

我有一个带有两个固定行的C1FlexGrid。 (这里重要的是我要使用的是C1.Win.C1FlexGrid网格而不是WPF或SilverLight版本)

我拥有的第一个固定行像往常一样用于标题。第二个虽然是自定义执行一些其他任务都工作正常,除了一个任务,我无法完成。我需要在第二个固定行的单元格的一个单元格内使用CheckBox(就像网格正常行中的任何布尔单元格一样),因为我想使用此CheckBox来检查/取消选中同一列中的所有复选框。

当然,将列数据类型设置为bool将不会为固定行执行任务。将单元格的编辑器设置为CheckBox也不会这样做,因为编辑器始终不可见,但仅在选择单元格时才可见。另外,根据我的研究,有一些线程正在讨论的CellFactory属性可以用来完成这项工作,但CellFactory没有在C1.Win.C1FlexGrid类中实现,只在WPF,SilverLight和Phone版本的网格中实现

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:3)

使用布尔数据类型创建新的CellStyle,并将其设置为您需要的任何单元格。这是实现它的代码,假设单元格在第1行和第1列:

//Implement 2 fixed rows
c1FlexGrid1.Rows.Fixed = 2;
//create and set a new style to the reqd. cell
var cs = c1FlexGrid1.Styles.Add("Boolean");
//set DataType
cs.DataType = typeof(Boolean);
//Set any alignment
cs.ImageAlign = C1.Win.C1FlexGrid.ImageAlignEnum.CenterCenter;
c1FlexGrid1.SetCellStyle(1, 1, cs);

谢谢, Richa