如何在TDBCtrlGrid中设置PanelHeight?

时间:2011-12-08 05:17:43

标签: delphi

我正在尝试使用TDBCtrlGrid,这看起来非常有用且用户友好。
TJvDBDateTimePicker,以便用户可以直接编辑日期。
它基本上有效,但我不能让面板达到我想要的高度 似乎PanelHeight,已发布的财产什么都不做 它是控制高度的RowCount,但这并不好。

2 个答案:

答案 0 :(得分:0)

确保其“对齐”或“约束”属性不会弄乱其高度。

使用默认值(对齐无约束0)时,Height,PanelHeight和RowCount的链接和计算方式如下:
高度 = PanelHeight x RowCount如果您更改 PanelHeight或RowCount

PanelHeight = 高度 / RowCount如果您更改高度

答案 1 :(得分:0)

谷歌给了我这个链接,我遇到了同样的问题。一个DBCtrlGrid,在页面上的PageControl中有顶部和底部锚点,可以调整大小。

希望这可能有助于后来的人。如果一个人对失败感兴趣,请跳到最后一行解决方案:)

我希望PanelHeight可以是静态的,RowCount会随着Form高度的增加/减少而增加/减少。

我有一些死胡同 - 一个是在tabheet resize事件上做的 如果CadetTOR2.PanelHeight> pnlMax则CadetTOR2.RowCount:= CadetTOR2.RowCount + 1; 但由于PanelHeight的更新速度不够快,这是一个无限循环

所以一次性计算可能是最合适的

我有一个DBCtrlGrid,在PanelHeight中有26个,23个RowCount,总高度为598 - 我希望总高度和RowCount可变,但PanelHeight大致是静态的。

我试图将网格顶部和底部锚定并设置grid.RowCount = grid.height div 26 ..这不起作用,网格在缩小时折叠成自身

这确实有效,DBCtrlGrid1锚定了顶部和左侧

procedure TfrmMain.TabSheet7Resize(Sender: TObject);
begin
    DBCtrlGrid1.RowCount:= (TabSheet7.height-112) div 26;
end;
相关问题