ljbpro 发表于 2014-4-24 18:59:00

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设置为黑色,不起作用。

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

回复 2楼wedy.wang的帖子

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

问题2
FlatStyle设置为Flat后,SelectionBackColor依然不起作用。

dafo 发表于 2014-4-28 10:56:00

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

      }

dafo 发表于 2014-4-28 11:05:00

问题2
参考http://gcdn.gcpowertools.com.cn/showtopic-12525.html

ljbpro 发表于 2014-4-28 23:05:00

回复 6楼dafo的帖子

谢谢回答!通过您的方法解决了
页: [1]
查看完整版本: MultiRow的ViewMode为Row的场合Cell样式