循环数据集的时候 如何能获取对应的dbgrid的columns

crazy_boom 2022-06-11 21:15:56

delphi 7.0  

dbgrid1.datasource.dataset :=adoquery1;

for i:=0 to adoquery1.fields.count -1 do 
begin
  if adoquery1.fields[i].fieldname='aaaa' then 
     adoquery1.fields[i].visable :=False;
  if adoquery1.fields[i].fieldname='best' then
    dbgrid1.columns(adoquery1.fields[i].fieldname).width:=60;
   //问题就是这一句 如何在这个数据集的循环里 给对应的columns指定宽度. 上面的写法是错误的 该怎么写呢?
   //我就会再这里遍历一遍dbgrid1 找到这个字段然后指定宽度。能不遍历dbgrid直接给指定宽度吗?
end

 

...全文
117 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazy_boom 2022-06-28
  • 打赏
  • 举报
回复

只能去遍历了。使用遍历的方法了

tanqth 2022-06-29
  • 举报
回复
@crazy_boom 是的,需要遍历。
小黑学DELPHI 2022-06-23
  • 打赏
  • 举报
回复

可以设置一个grid,然后去设置grid的width

  • 打赏
  • 举报
回复

if DBGrid1.fields[i].fieldname='aaaa' then

tanqth 2022-06-12
  • 打赏
  • 举报
回复

这个,好像只能去遍历了。columns只对应序号,不能使用NAME。
当然,还有一种办法,就是你之前就记录下那个字段对应那一列,然后直接取到使用。

5,386

社区成员

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

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