用DBGRID来显示查询结果(其datasource.dataset为adoquery1),用户可以选择grid显示哪些字段(通过右键弹出菜单)。我不想每改变一次显示/输出字段(一次只能增加或减少一个输出字段)都重新执行一次SQL查询,该怎么做呢?我的想法是:adoquery1先把所有字段都select出来,用户改变显示字段时只改变dbgrid显示的column,怎么实现?如果没办法通过DBGRID来实现,一个adoquery如何从另一个adoquery的查询结果中抽取特定字段呢?谢谢大家!!!!!
解决方案 »
- 各位老大:关于delphi 不正常的定义参数对象,parameter 'name' not found
- 请帮帮我!!!如何将Variant数组转为string并读取。
- Delphi 交流群:11835856,欢迎加入~~~
- SocketConnection1动态设置ip和port的问题!
- 看看D区的技术高手的丑陋的一面
- 各位高手:提一个基本的数据库录入问题?
- 问一个Post和UpdateBatch
- 从unit文件如何生成窗体?
- 我学了delphi一个多月了还只是会一点点特别是对函数属性。。了解的不多,为何delphi没有中文帮助问档(不是我ENGLISH差,而是实在不方便)有同感的请发言,也请老鸟们指点一二.
- nmsmtp控件怎样在邮件中以附件形式发送文件
- 100分求Delphi8 for .NET下载地址,构架版,企业版都行。
- 如何动态创建TQRCHART并打印预览
DBGrid1.Columns.Delete(Index);
DBGrid1.Columns[2].FieldName := 'aaa';
DBGrid1.Columns[2].Title.Caption := 'AAAAA';
DBGrid1.Columns[2].Width := integer;
DBGrid1.Columns[I].Visible := True (Or False);
因为某个field的visible被置为false后,它就等于从DBGrid1.Fields数组中删除了
我本来还想在popupmenu1的菜单项的click事件中加入一句呢:
DBGrid1.Fields[i].visible:=popupmenu1.items[i].checked;
比较麻烦呀~~不知道chao_jian(猫)的方法会不会有同样问题
实现了。谢谢!谢谢大家!
dbgrid显示的column[i] visible