Ultragrid标题复选框

时间:2013-12-18 15:01:58

标签: c# .net checkbox infragistics ultrawingrid

我有一个带有“A”列的超网格,其中有一个复选框。如何知道我的所有行是否都选中了此列?因为有一个常规复选框可以用来通过使用CheckAll()函数来改变我所有行中列“A”的状态,所以它必须是一种方法来知道我的所有行是否都检查了这个列,对吧?

提前致谢。

顺便说一句:我尝试使用GetHeaderCheckedState函数,但由于我按行分组,我需要使用GetAllNonGroupByRows()函数返回一个UltraGridRow数组,而GetHeaderCheckedState函数只接收一个RowsCollection ...有没有办法将UltraGridRow []转换为RowsCollection?

PS:我不知道这是否会产生某种差异,但这是C#中的非Web应用程序。

1 个答案:

答案 0 :(得分:0)

根据您的情况,您可以使用BeforeHeaderCheckStateChanged上的AfterHeaderCheckStateChangedUltraGrid事件。这样您就可以在传入的RowCollection上使用EventArgs属性。例如:

private void ultraGrid1_BeforeHeaderCheckStateChanged(object sender, BeforeHeaderCheckStateChangedEventArgs e)
{
    ultraGrid1.DisplayLayout.Bands[0].Columns[0].GetHeaderCheckedState(e.Rows);
}

如果此方法不适合您的方案,则可以使用父行。例如:

ultraGrid1.DisplayLayout.Bands[0].Columns[0].GetHeaderCheckedState(ultraGrid1.ActiveRow.ChildBands[0].Rows);