【发布时间】:2014-09-16 14:40:30
【问题描述】:
目前,我正在显示一个包含组行的 XtraGrid。我有一个“全选”DevExpress.XtraEditors.CheckEdit 控件(与我在文档中阅读的这个难以捉摸的“全选”复选框控件不同)。之所以不同是有原因的:我希望复选框执行“全选”以外的操作(根据 DevExpress 文档,它只有三种不同的变体。)。
我希望用户能够使用 CheckEdit 控件执行以下两项操作之一。 [1] 如果没有展开 Group Rows,我想选择所有 Group Rows。 [2] 如果展开一个或多个 Group Rows,我只想选择展开的行。
目前,我只能操纵控件来做两件事中的一件(参见代码)。我的问题是双重的:这可能吗?如果是这样,我该怎么做?
这是我的代码,用于完成上述两个“事情”中的第二个:
'If the CheckEdit control is checked:
xtraGrid.SelectAll()
Dim rowHandles() As Int32 = xtraGrid.GetSelectedRows()
If rowHandles.Count > 0 Then
For Each RowHandle As Int32 In rowHandles
If xtraGrid.IsGroupRow(RowHandle) Then
xtraGrid.UnselectRow(RowHandle)
End If
Next
End If
如您所见,这一切实际上只是一种变通方法。在我的电话.GetSelectedRows() 中,大概也有比需要更多的开销。我只是试图对行类型进行排序以保持选中行或.UnselectRow()
【问题讨论】:
标签: vb.net devexpress xtragrid