找回密码
 立即注册

QQ登录

只需一步,快速开始

ljbpro

论坛元老

6

主题

19

帖子

5218

积分

论坛元老

积分
5218

活字格认证

ljbpro
论坛元老   /  发表于:2014-4-24 18:59  /   查看:7058  /  回复:7
MultiRow的ViewMode为Row,ReadOnly为True的场合,
MultiRow 4.0的显示样式:
点击该行的第二小行,第二小行整行被选中。


MultiRow 7.0的现实样式:
点击该行的第二小行,只有一个单元格被选中。


问题1:
MultiRow 7.0如何设置点击该行的某一小行,小行的整行被选中。

问题2:
MultiRow 7.0,RowHeader的颜色设置为黑色。
RowHeader元素的SelectionBackColor设置为黑色,不起作用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

7 个回复

倒序浏览
wedy.wang
初级会员   /  发表于:2014-4-25 08:55:00
沙发
>问题1.
在GcMultiRow当中,如果设置ViewMode为Row,当你点击当前大行的任意一个Cell,都是整个大行被选中,跟4.0的情况不同;你所说的只有一个Cell被选中,不知道是怎么重现的,设置了ViewMode为Row之后应该都是整个大行被选中。
>问题2.
要让起作用,需要将HeaderCell.FlatStyle设置为Flat。默认是使用System的Theme效果。
回复 使用道具 举报
ljbpro
论坛元老   /  发表于:2014-4-25 09:25:00
板凳
***回复错误,请无视***
回复 使用道具 举报
ljbpro
论坛元老   /  发表于:2014-4-25 10:42:00
地板
还有一个问题,EnterFlg属性为什么编译后,自动变成true
回复 使用道具 举报
ljbpro
论坛元老   /  发表于:2014-4-25 10:46:00
5#
回复 2楼wedy.wang的帖子

谢谢及时回复。
问题1表述不太清楚,不好意思。
点击当前大行的任意一个Cell,都是整个大行被选中,这个是没有问题的。
但是,一个大行有4个小行的情况下,点击该大行第二小行的第一个单元格,
4.0是第二小行整行被选中(看起来是这种效果)。7.0是只有单个单元格可以选中。
请参考一下帖子中图片。

问题2
FlatStyle设置为Flat后,SelectionBackColor依然不起作用。
回复 使用道具 举报
dafo
版主   /  发表于:2014-4-28 10:56:00
6#
问题1:
从GcMultiRow5及以上版本要支持大行中的小行选择,必须要有对应的小行RowHeaderCell,并且设置RowHeaderCell.SelectionMode = IntersectedCells即可。
但是我看你的布局仅有一个大的RowHeaderCell贯穿所有小行,所以MultiRow没有这样的功能,我们只能通过代码动态控制选择效果去实现你的需求,示例代码如下:
  1.         private void gcMultiRow1_CellClick(object sender, GrapeCity.Win.MultiRow.CellEventArgs e)
  2.         {
  3.             if (e.CellIndex >= 0 &amp;&amp; e.CellIndex <= 17)
  4.             {
  5.                 this.gcMultiRow1.SuspendLayout();
  6.                 this.gcMultiRow1.ClearSelection();
  7.                 //第一小行单元索引
  8.                 if (e.CellIndex >= 0 &amp;&amp; e.CellIndex <= 5)
  9.                 {
  10.                     for (int i = 0; i <= 5; i++)
  11.                     {
  12.                         this.gcMultiRow1.AddSelection(e.RowIndex, i);
  13.                     }
  14.                 }
  15.                //第二小行单元索引
  16.                 if (e.CellIndex >= 6 &amp;&amp; e.CellIndex <= 11)
  17.                 {
  18.                     for (int i = 6; i <= 11; i++)
  19.                     {
  20.                         this.gcMultiRow1.AddSelection(e.RowIndex, i);
  21.                     }
  22.                 }
  23.                 //第三小行单元索引
  24.                 if (e.CellIndex >= 12 &amp;&amp; e.CellIndex <= 17)
  25.                 {
  26.                     for (int i = 12; i <= 17; i++)
  27.                     {
  28.                         this.gcMultiRow1.AddSelection(e.RowIndex, i);
  29.                     }
  30.                 }
  31.                 this.gcMultiRow1.ResumeLayout();
  32.             }
  33.         }
复制代码
回复 使用道具 举报
dafo
版主   /  发表于:2014-4-28 11:05:00
7#
回复 使用道具 举报
ljbpro
论坛元老   /  发表于:2014-4-28 23:05:00
8#
回复 6楼dafo的帖子

谢谢回答!通过您的方法解决了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部