C# 超级网格标头复选框
我有一个超级网格,列“a”有一个复选框。我如何知道我的所有行上是否选中了此列?因为有一个通用的复选框可以通过使用CheckAll()函数来改变我所有行中列“a”的状态,所以它必须是一种知道我所有行是否都选中了该列的方法,对吗 提前谢谢 顺便说一句:我尝试使用GetHeaderCheckedState函数,但由于我有group by rows,我需要使用GetAllNonGroupByRows()函数返回一个UltraGridRow数组,GetHeaderCheckedState函数只接收一个RowsCollection。。。有没有办法将UltraGridRow[]转换为RowsCollectionC# 超级网格标头复选框,c#,.net,checkbox,infragistics,ultrawingrid,C#,.net,Checkbox,Infragistics,Ultrawingrid,我有一个超级网格,列“a”有一个复选框。我如何知道我的所有行上是否选中了此列?因为有一个通用的复选框可以通过使用CheckAll()函数来改变我所有行中列“a”的状态,所以它必须是一种知道我所有行是否都选中了该列的方法,对吗 提前谢谢 顺便说一句:我尝试使用GetHeaderCheckedState函数,但由于我有group by rows,我需要使用GetAllNonGroupByRows()函数返回一个UltraGridRow数组,GetHeaderCheckedState函数只接收一个Ro
PS:我不知道这是否有什么不同,但这是C#中的一个非web应用程序。根据您的场景,您可以使用
超级网格上的前headercheckstateChanged
或后headercheckstateChanged
事件。这将允许您对传入的EventArgs
使用RowCollection
属性。例如:
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);
如果这种方法不适合您的场景,您可以使用父行。例如:
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);