回复 8楼loacher的帖子
这个空隙通过常规办法去不掉的。
可不可以这样子:
在调用完HorizontalResize之后,你不要隐藏Cell2,可以将Cell1的右沿Border的颜色设置成Empty,并将Cell2的左沿和右沿Border也设置成Empty,这样在界面的感觉上面Cell1和Cell3是紧挨着的。
为了方便起见,你可以在Template上面给Cell1和Cell2分别设置一个NamedCellStyle,到时候光改动这个Style的Border,那么所有的Row上面的Cell2都会改变。
可以参考下面的代码:- private void button1_Click(object sender, EventArgs e)
- {
- this.gcMultiRow1[0, "textBoxCell2"].HorizontalResize(-this.gcMultiRow1[0, "textBoxCell2"].Width);
- CellStyle cell1InheritedStyle = this.gcMultiRow1[0, "textBoxCell1"].InheritedStyle;
- CellStyle cell2InheritedStyle = this.gcMultiRow1[0, "textBoxCell2"].InheritedStyle;
- CellStyle style1 = this.gcMultiRow1.NamedCellStyles["textStyle1"];
- CellStyle style2 = this.gcMultiRow1.NamedCellStyles["textStyle2"];
- style1.Border = new GrapeCity.Win.MultiRow.Border(
- new GrapeCity.Win.MultiRow.Line(GrapeCity.Win.MultiRow.LineStyle.Thin, (cell1InheritedStyle.Border as Border).Bottom.Color),
- new GrapeCity.Win.MultiRow.Line(GrapeCity.Win.MultiRow.LineStyle.Thin, (cell1InheritedStyle.Border as Border).Bottom.Color),
- GrapeCity.Win.MultiRow.Line.Empty,
- new GrapeCity.Win.MultiRow.Line(GrapeCity.Win.MultiRow.LineStyle.Thin, (cell1InheritedStyle.Border as Border).Bottom.Color)
- );
- style2.Border = new GrapeCity.Win.MultiRow.Border(
- GrapeCity.Win.MultiRow.Line.Empty,
- new GrapeCity.Win.MultiRow.Line(GrapeCity.Win.MultiRow.LineStyle.Thin, (cell2InheritedStyle.Border as Border).Bottom.Color),
- GrapeCity.Win.MultiRow.Line.Empty,
- new GrapeCity.Win.MultiRow.Line(GrapeCity.Win.MultiRow.LineStyle.Thin, (cell2InheritedStyle.Border as Border).Bottom.Color));
- }
复制代码 |