如何让dbgrid中的显示长度等于每个字段选出的值的最大值?

skyi80 2003-08-29 11:14:28
同上
...全文
58 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuki111111111 2003-08-31
  • 打赏
  • 举报
回复
象上面一样,只不过用了with query do
begin
end;
skyi80 2003-08-31
  • 打赏
  • 举报
回复
如果是query用sql语句得出的数据集呢??
kuchong 2003-08-30
  • 打赏
  • 举报
回复
给分吧~

procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
i,max:integer;
begin
max:=0;
with adotable1 do
begin
DisableControls;
first;
while not eof do
begin
if length(column.Field.Text)>max then
max:=length(column.Field.Text);
next;
end;
EnableControls;
end;
column.Width:=max*dbgrid1.canvas.textwidth('a');
end;
yujohny 2003-08-30
  • 打赏
  • 举报
回复
默认就是这个字段的长度,应该够大了吧
bestluo 2003-08-30
  • 打赏
  • 举报
回复
用一个LENGTH函数获得长度,循环比较即可

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧