各位大侠:
我用adoquery datasource dbgrid显示查询结果
每次都要在adoquery 组件中new field将数据表的字段名和宽度加上去
化费很多时间,
请问有什么其它好的实现方法
谢谢

解决方案 »

  1.   

    在dbgrid的columns属性里设置字段,或者你在查询结果将字段建中文别名
      

  2.   

    呵呵,今天才写了篇文章解决这个问题,发在我的博客上。前几天看到一篇帖子用,说StringList将表格列宽存储在dat文件中。当时我也发了点评论,认为如果用ini文件来实现会取得更好的效果。不过因为我不太懂StringList操作,也不见得用StringList加dat就不会有更好的解决方法,但我已经用ini文件解决了这个问题。我的大概思路就是:每次查询完数据库后,从ini文件中读取表格各列的宽度;首次读取会没有返回值,因为ini文件中并未存储这些列宽。所以,需要手工调整名列的宽度,但在每次关闭窗体后,将表格各列的宽度保存在ini文件中,这样第二次打开该窗体后,再次查询数据库就会自动将各列宽度设置为上次调整的宽度。用ini文件的好处就是,读取的同时指定了读取失败的默认值,而且ini文件操作非常方便,即使ini文件被删除也只是恢复到第一次使用的状态。有兴趣进一步研究并提出指教的话,还请参考我的博文《在Delphi中用ini文件保存表格列宽》http://pcclub1.pconline.com.cn/blog/member.do?method=blogDetail&accountId=1387338&diaryId=163492