MultiRow的ViewMode为Row的场合Cell样式
MultiRow的ViewMode为Row,ReadOnly为True的场合,MultiRow 4.0的显示样式:
点击该行的第二小行,第二小行整行被选中。
MultiRow 7.0的现实样式:
点击该行的第二小行,只有一个单元格被选中。
问题1:
MultiRow 7.0如何设置点击该行的某一小行,小行的整行被选中。
问题2:
MultiRow 7.0,RowHeader的颜色设置为黑色。
RowHeader元素的SelectionBackColor设置为黑色,不起作用。 >问题1.
在GcMultiRow当中,如果设置ViewMode为Row,当你点击当前大行的任意一个Cell,都是整个大行被选中,跟4.0的情况不同;你所说的只有一个Cell被选中,不知道是怎么重现的,设置了ViewMode为Row之后应该都是整个大行被选中。
>问题2.
要让起作用,需要将HeaderCell.FlatStyle设置为Flat。默认是使用System的Theme效果。 ***回复错误,请无视*** 还有一个问题,EnterFlg属性为什么编译后,自动变成true 回复 2楼wedy.wang的帖子
谢谢及时回复。
问题1表述不太清楚,不好意思。
点击当前大行的任意一个Cell,都是整个大行被选中,这个是没有问题的。
但是,一个大行有4个小行的情况下,点击该大行第二小行的第一个单元格,
4.0是第二小行整行被选中(看起来是这种效果)。7.0是只有单个单元格可以选中。
请参考一下帖子中图片。
问题2
FlatStyle设置为Flat后,SelectionBackColor依然不起作用。 问题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();
}
} 问题2
参考http://gcdn.gcpowertools.com.cn/showtopic-12525.html 回复 6楼dafo的帖子
谢谢回答!通过您的方法解决了
页:
[1]