当Cell被设置为不可见的时候,位置能否被填充?
假设有三个并列的cell(cell1, cell2, cell3)当根据条件设置cell2 为不可见的时候, cell3的位置能否上提,和cell1并列?
cell2 被设置回可见的时候,又恢复最初的cell1, cell2, cell3并列的状态?? 继续求助,难道只能手动更改位置吗 回复 2楼loacher的帖子
如果竖直排列的,你可以通过调用cell2.VerticalResize(-cell2.Height)来将这个cell2的高度设置成0。但是这个方法有个缺点,就是他不会将cell2的高度调整成0,而是调整成2,因为他为了能通过UIResize把这个Cell2再Resize大。因此,为了避免这个缺点,再调完这个方法后,可以再设置cell2.Visible为False,这样效果会好些。
如果是水平排列请使用Cell2.HorizontalResize方法。 请问这个怎么用啊, 提示ge design时不能访问 的错误信息 回复 4楼loacher的帖子
你需要通过GcMultiRow来获取Cell2,而不是通过Template来获取取。
比如:GcMultiRow1.VerticalResize(), 而不是Template.Row.Cells["cell2"].VerticalResize(); 找帮助,现在可以了实现了,只是,横向的,也有个缝隙啊,怎么办才好? 还有没有其他的方法? 请wedy.wang 兄,再帮忙看看 回复 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.HorizontalResize(-this.gcMultiRow1.Width);
CellStyle cell1InheritedStyle = this.gcMultiRow1.InheritedStyle;
CellStyle cell2InheritedStyle = this.gcMultiRow1.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));
}
页:
[1]