CurrentBorderLine活动行的上边框显示问题
好!通过CurrentBorderLine可以设置当前选中行的选中边框,但是当选中第一行的时候,CurrentBorderLine设置的上边框显示不出来。(其他行的时候正常)
(1)我尝试调整了Header和Row之间的距离,并且把背景色设置为透明,仍然无法显示CurrentBorderLine的上边框。
是不是绘制边框的时候有什么原则?求教!! 我尝试了一下如下方法:
把模板中Row的Height调大了一个像素。
然后将Row中的Cell整体向下移动了一个像素。
这样上边框就可以显示出来了,但是上边框的上方仍有一点余白,无法找的一个完全适合的高度。 不好意思,
2#的方案没有效果,是因为我调了其他的影响的………… 感觉绘制行的策略好像是,只绘制每一行的下边框呢?? 我发现我并没有成功调整了Header和Row之间的距离。
观察现在的效果,感觉是先绘制的Row,然后绘制的Header和Footer,然后Header会把第一行的上边框盖住。 你最后的回复说的就是我们的画法策略,先绘制Row,最后绘制Header和Footer.
所以对于你的Case,GcMultiRow没有支持这样的用例。
这里有一个解决方案,自己通过SelectionChanged事件来更新Header或Footer上下沿Border来模拟Row选择Border。
private void gcMultiRow1_SelectionChanged(object sender, EventArgs e)
{
if (this.gcMultiRow1.CurrentRow != null && this.gcMultiRow1.CurrentRow.Index == 0)
{
var bottomLine = new GrapeCity.Win.MultiRow.Line(GrapeCity.Win.MultiRow.LineStyle.Medium, System.Drawing.Color.Red);
this.gcMultiRow1.ColumnHeaders.Border = new Border(Line.Empty, Line.Empty, Line.Empty, bottomLine);
}
else
{
this.gcMultiRow1.ColumnHeaders.Border = null;
}
}
OK,了解了。
多谢版主! 回复 7楼yinzhm的帖子
很高兴能帮到你,这个我结贴了,如果有新问题欢迎开新帖提问。
页:
[1]