1

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

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

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

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

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

4

1 回答 1

3

使用 Boolean DataType 创建一个新的 CellStyle 并将其设置为您需要的任何 Cell。这是实现它的代码,假设单元格位于第 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);

谢谢, 里查

于 2014-01-15T08:56:06.977 回答