MultiRow8.0中addselection选择多个单元格的时候,只有一个单元格显示边框
MultiRow8.0中addselection选择多个单元格的时候,只有一个单元格显示边框?其他被选中的单元格没有边框,想让整个被选中的区域有一个边框如何设置? 回复 1楼credream的帖子
谢谢反馈。
根据你的描述,你指的是focus焦点所在矩形框,这个只能存在一个单元格上,标志着当前焦点所在的单元格(焦点是存在某个单元格上,而不是某个区域),选中的区域用选中的颜色区分。你可以通过Selection的Border样式来给整个选择区域设置边框。 回复 2楼Alice的帖子
可以给段代码吗?MultiRow8.0中并没有selection这个属性啊 回复 3楼credream的帖子
很抱歉回复晚了。
基本思路是需要通过Style设置边框样式,将此样式设置给选择的单元格。
代码我们验证后给您反馈。 MultiRow的选择区域只能设置背景色、前景色。
this.gcMultiRow1.DefaultCellStyle.SelectionBackColor = Color.Black;
this.gcMultiRow1.DefaultCellStyle.SelectionForeColor = Color.White;
那个黑色的边框是设置给CurrentCell的。可以通过代码修改边框:
this.gcMultiRow1.CurrentCellBorderLine = new GrapeCity.Win.MultiRow.Line(LineStyle.Double, Color.Blue);
也可以给CurrentRow设置边框,在按行选择的时候会用到。
this.gcMultiRow1.CurrentRowBorderLine = new GrapeCity.Win.MultiRow.Line(LineStyle.Double, Color.Blue); 回复 4楼Alice的帖子
验证OK 了吗? 回复 6楼credream的帖子
您好。
请问5楼@Carl版主提供的方法能满足您的需求么? 回复 7楼Alice的帖子
上面说的应该不能实现吧,如果单纯的给每个单元格的左边框,上边框,等这样赋值的话。。岂不是挺不合适的。。。而且做到一致应该也挺困难,有简单些的办法吗?
下面是低版本的区域边框的选择效果,我们就是要把高版本的multirow作出低版本的下面的这种效果来,客户要求的。。
这样的效果,可以实现吗? MultiRow 本身是没有这个功能的,因为MultiRow支持了 Free Layout,也就是每个Cell的位置都可以任意摆放,不一定要摆成表格的样子,所以无法内置支持这个功能。
你可以考虑通过MultiRow的OwnerDraw 功能来扩展,通过自定义画法,给当前选择区域的对应Cell的上下左右边框画上不同的效果。
这个逻辑依赖于MultiRow的Template的布局来计算Cell的位置。可以尝试一下。
页:
[1]