好像是跟数据库字段的长度相关
把数据库字段的长度修改后,DBGrid中的列长度也跟着变化
以致在DBGrid的Columns的Width属性的修改都无效了
就是说,假如数据从access里取出
而你access里该字段长度为100,那么在数据显示时它会有100个字符的宽度-_-
有没什么办法解决???
把数据库字段的长度修改后,DBGrid中的列长度也跟着变化
以致在DBGrid的Columns的Width属性的修改都无效了
就是说,假如数据从access里取出
而你access里该字段长度为100,那么在数据显示时它会有100个字符的宽度-_-
有没什么办法解决???
解决方案 »
- FastReport 为什么图片大于2.22MB时,会出现JPEG ERROR #53?
- 有关一个公用的BPL的问题
- 问一个简单问题
- 关于将Excel表的数据导入到SQL Server中的问题!
- ADO控件在线程中如何实现同步查询吗?
- 大家帮帮我??关于delphi数据库的问题--对于你们真的很简单,谢谢了
- stringgrid列显示的问题?
- 帮忙啊:Standard和Additional面板上都只剩下一个控件了,其余的都不见了。55555555555
- waveOutGetVolume 这个函数不知该如何调用?
- 如何定义自动生成控件的事件。小弟万分着急,先谢了
- 一个简单基本的问题求教高手,急在线等
- 如何获取与string的值同名的组件?急
var
I, n: Integer;
begin
with DBGrid1 do
for I := 0 to Columns.Count - 1 do begin
n := Columns[I].Field.DataSize;//当然你可以进一步利用DataType对不同类型的字段进行不同的处理
if n = 0 then n := 6;//BLOB字段,显示“(MEMO)”6个字符
if n <Length(Columns[I].Title.Caption) then
n := Length(Columns[I].Title.Caption);//如果列标题更长,就以列标题为准
Columns[I].Width := Canvas.TextWidth(StringOfChar('M', n)) + 2;
end;
end;
然后指定width
用editing columns就是columns后面那个按钮