我在DBGrid(实际上是TMS的DBGrid)中保存/重新加载col宽度时遇到了困难。 TMS包含保存/重新加载col宽度的内置方法,它们正常工作(我可以读取ini文件中的值)。但是,我的代码中的某个地方会覆盖存储的值。我不太清楚如何确定col宽度能够调试问题。
网格最终连接到ClientDataSet文件。
答案 0 :(得分:5)
TColumn
有一个名为DefaultWidth
的方法,特别是在宽度未明确分配给列时调用(对于动态创建的网格列,这是正确的)。
基本上,它使用列的关联字段的显示宽度(以字符为单位),并使用相应的字体将其乘以0
字符的宽度(以像素为单位)。
然后将结果与标题的宽度(以像素为单位)进行比较,并返回更大的值。