问题1:
从GcMultiRow5及以上版本要支持大行中的小行选择,必须要有对应的小行RowHeaderCell,并且设置RowHeaderCell.SelectionMode = IntersectedCells即可。
但是我看你的布局仅有一个大的RowHeaderCell贯穿所有小行,所以MultiRow没有这样的功能,我们只能通过代码动态控制选择效果去实现你的需求,示例代码如下:- private void gcMultiRow1_CellClick(object sender, GrapeCity.Win.MultiRow.CellEventArgs e)
- {
- if (e.CellIndex >= 0 && e.CellIndex <= 17)
- {
- this.gcMultiRow1.SuspendLayout();
- this.gcMultiRow1.ClearSelection();
- //第一小行单元索引
- if (e.CellIndex >= 0 && e.CellIndex <= 5)
- {
- for (int i = 0; i <= 5; i++)
- {
- this.gcMultiRow1.AddSelection(e.RowIndex, i);
- }
- }
- //第二小行单元索引
- if (e.CellIndex >= 6 && e.CellIndex <= 11)
- {
- for (int i = 6; i <= 11; i++)
- {
- this.gcMultiRow1.AddSelection(e.RowIndex, i);
- }
- }
- //第三小行单元索引
- if (e.CellIndex >= 12 && e.CellIndex <= 17)
- {
- for (int i = 12; i <= 17; i++)
- {
- this.gcMultiRow1.AddSelection(e.RowIndex, i);
- }
- }
- this.gcMultiRow1.ResumeLayout();
- }
- }
复制代码 |