DBGridEh显示列

coderee 2011-07-22 09:42:03
如下代码表a有200个字段:通过DBGridEh1显示出来,然后把第10列以后的隐藏(必须要有),如果一下代码循环隐藏的话,会影响速度,可不可以用一句话把第10列以后的列隐藏?
qy1.Close;
qy1.SQL.Clear;
qy1.SQL.Add('select * from a');
qy1.Open;

for i:=0 to dbgrideh1.columns.count-1 do
begin
if i>10 then
begin
dbgrideh1.Columns[i].visible:=false;
end;
end;
...全文
252 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
newfang 2011-07-27
  • 打赏
  • 举报
回复
先静态加上200个列,全部设置为不显示。必要时候循环10次改为可显示。
cqs6616 2011-07-27
  • 打赏
  • 举报
回复
读取数据,不用修改数据集,
dbgrideh根据需要动态创建数据列,10列以后的不要创建就可以了.
jyb_9 2011-07-22
  • 打赏
  • 举报
回复
双击qy1加入要显示的字段就OK了
xiesb 2011-07-22
  • 打赏
  • 举报
回复
你也可以在数据库中先建立VIEW啊
babydog01 2011-07-22
  • 打赏
  • 举报
回复
这个也改一下

for i:=11 to dbgrideh1.columns.count-1 do
babydog01 2011-07-22
  • 打赏
  • 举报
回复
在设计时将dbgrideh加入所有字段,打开qy1,双击dbgrideh ,上方有一个按纽,add all fields
coderee 2011-07-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 babydog01 的回复:]
如果非要这样做的话,
1、就在设计时将dbgrideh加入所有字段,
2、然后将代码顺序改一下

Delphi(Pascal) code


qy1.Close;//关掉数据表或用qy1.DisableControls;

for i:=0 to dbgrideh1.columns.count-1 do
begin
if i>10 then
begin
……
[/Quote]
dbgrideh1显示的列并没有加载进去,你说的这个方法是先加载进去,这样不行啊.
babydog01 2011-07-22
  • 打赏
  • 举报
回复
如果非要这样做的话,
1、就在设计时将dbgrideh加入所有字段,
2、然后将代码顺序改一下


qy1.Close;//关掉数据表或用qy1.DisableControls;

for i:=0 to dbgrideh1.columns.count-1 do
begin
if i>10 then
begin
dbgrideh1.Columns[i].visible:=false;
end;
end;

qy1.SQL.Clear;
qy1.SQL.Add('select * from a');
qy1.Open;
//如果前面用和qy1.DisableControls;这里要用qy1.EnableControls;

coderee 2011-07-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 m617105 的回复:]
引用 1 楼 babydog01 的回复:

你的这条更影响速度,用多少取多少列。

qy1.SQL.Add('select * from a');

同意
[/Quote]
这个道理我自然懂,但这里的确是有特殊的作用的,需要这样显示。
浩南_哥 2011-07-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 babydog01 的回复:]

你的这条更影响速度,用多少取多少列。

qy1.SQL.Add('select * from a');
[/Quote]
同意
babydog01 2011-07-22
  • 打赏
  • 举报
回复
你的这条更影响速度,用多少取多少列。

qy1.SQL.Add('select * from a');
babydog01 2011-07-22
  • 打赏
  • 举报
回复
dbgrideh 带有选择显示列、保存grid信息的功能

//存储Grid格式ini
function SaveGridIni(ADBGridEhNameStr: string;ADBGridEh:TDBGridEh): Boolean;
var
IniFileNameStr:string;
begin
IniFileNameStr := ExtractFileDir(ParamStr(0)) + '\' + 'DBGirdConfig.ini';
ADBGridEh.SaveGridLayoutIni(IniFileNameStr,ADBGridEhNameStr,False);
end;

//加载读取Grid格式ini
function RestoreGridIni(ADBGridEhNameStr: string;ADBGridEh:TDBGridEh): Boolean;
var
IniFileNameStr:string;
RestoreParams: TDBGridEhRestoreParams;
begin
IniFileNameStr := ExtractFileDir(ParamStr(0)) + '\' + 'DBGirdConfig.ini';
ADBGridEh.RestoreGridLayoutIni(IniFileNameStr,ADBGridEhNameStr,RestoreParams);
end;

kaikai_kk 2011-07-22
  • 打赏
  • 举报
回复
是的,包括颜色,宽度,顺序...都可以
coderee 2011-07-22
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 kaikai_kk 的回复:]
这样啊,其实不难,想达到完全的自定义,下面思路可以参考一下:
1.做一个保存此角色dbgrideh状态的东西了,可以是一个表或者一个txt文件(ini文件)
2.先建立一份默认的保存起来
3.再做个右键菜单,可以打勾的,关联dbgrideh,菜单上列出所有的列名,勾中就显示,反之隐藏
4.打开时读取加载
5.退出时若有修改过就更新
[/Quote]
还要可以调顺序。
kaikai_kk 2011-07-22
  • 打赏
  • 举报
回复
这样啊,其实不难,想达到完全的自定义,下面思路可以参考一下:
1.做一个保存此角色dbgrideh状态的东西了,可以是一个表或者一个txt文件(ini文件)
2.先建立一份默认的保存起来
3.再做个右键菜单,可以打勾的,关联dbgrideh,菜单上列出所有的列名,勾中就显示,反之隐藏
4.打开时读取加载
5.退出时若有修改过就更新
coderee 2011-07-22
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 kaikai_kk 的回复:]
其实我是不明白LZ的特殊情况是什么
[/Quote]
我现在要实现的是DBGrid显示列的自定义设置,也就是根据角色的不同自定义显示列的个数和字段的顺序,但是没有显示的列也要存在,因为在后面的表单中要用到没有显示的列。
所以dbgrideh的列并不是真正加入的,只是用于显示的。
kaikai_kk 2011-07-22
  • 打赏
  • 举报
回复
其实我是不明白LZ的特殊情况是什么
coderee 2011-07-22
  • 打赏
  • 举报
回复
我的意思是说DBGridEH并没有真正的加入字段。
for i:=0 to dbgrideh1.columns.count-1 do
begin
if i>10 then
begin
dbgrideh1.Columns[i].visible:=false;
end;
end;
执行以上代码要先知道dbgrideh1.columns.count的值,
DBGRIDEH必须要虚拟加入字段后才能执行以上循环。
coderee 2011-07-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 babydog01 的回复:]
什么意思,a 表结构未定?
你在设计期的qy1就加上'select * from a',qy1就可以打开了么,可以打开就可以填写字段了。
[/Quote]
好像不太好说,你有qq吗?
babydog01 2011-07-22
  • 打赏
  • 举报
回复
什么意思,a 表结构未定?
你在设计期的qy1就加上'select * from a',qy1就可以打开了么,可以打开就可以填写字段了。
加载更多回复(1)
一、 DBGridEh(增强型表格组件)功能详解.....................................................................4 二、应用实例..........................................................................................................................5 1. 定制标题行......................................................................................................................5 1) 制作复杂标题行.......................................................................................................5 2) 按钮式标题..............................................................................................................5 3) 标题行显示图片.......................................................................................................5 4) 如根据不同状态在数据单元格中显示相应图片...................................................5 5) 自动显示标题行的升降排序标志符(▽降序△升序)并做相应排序...............6 6) 点dbgrideh 标题排序..............................................................................................7 7) 在DBGridEH 中怎样实现多重排序(标题出现0123等排序号)? ................ 11 8) 让dbgrid显示序号................................................................................................ 11 2. 外观布局........................................................................................................................12 1) 根据不同字段值显示相应的小图片.....................................................................12 2) 显示检查框(checkbox)外观.............................................................................12 3) 显示单、多下拉表.........................................................................................12 4) 显示日历下拉表.................................................................................................13 5) 3D或平面外观效果...............................................................................................13 6) 行头和头的启用关闭.........................................................................................13 7) DBGrid如何实现透明效果?.................................................................................13 8) 滚动条的各种应用.................................................................................................16 9) 数据行高................................................................................................................19 10) DBGrid设置Rowheight后如何将单元格内容纵向和垂直都居中?..............19 11) 设置DBGridEH 自适应宽的最好方法.........................................................20 12) Ehlib 的DBGridEh加序号........................................................................21 13) 分行分、单元格的颜色设置.........................................................................23 14) 点击不同单元格,执行不同的动作.............................................................27 15) 下拉式计算器.....................................................................................................28 16) 鼠标移到某个单元格,指针形状改变.............................................................28 17) 自动填充网格宽到网格客户区.....................................................................29 18) 从注册表或ini文件中保存或恢复网格和的层次。...................................29 3. 编辑功能........................................................................................................................29 1) 多选........................................................................................................................29 2) 文本多行显示.........................................................................................................30 3) 显示备注字段.........................................................................................................30 4) 如何让dbgrideh1 显示数据时只显示两位小数...................................................30 5) 获得当前DBGridEh表中单元格的序号.............................................................30 6) 怎样在dbgridEh和Edit中显示金额的千分号...................................................30 7) end;请问怎么才能使DBGridEh不滚动就能提交数据?...................................32 8) 我怎么把dbgrid 里的数据一次插入到数据库呢................................................32 9) 在DBGrid中可选中行而又可进入编辑状态......................................................32 10) 修正DBGrideh 丢失焦点时自动关闭输入法的问题......................................35 11) DBGRIDEH选定多行删除怎么实现...............................................................36 12) DBGrid 滚动表格的代码...................................................................................37 4. 统计功能........................................................................................................................37 白波九道整理自用版 第 3 页 1) 页脚合计................................................................................................................37 2) 定制表格底部(footer)区域的汇总统计行.......................................................38 3) TDBSumList说明..................................................................................................38 4) 如何工作以及为什么有时SumList的集合值计算不正确?.............................39 5) dbgrideh求和.....................................................................................................39 5. 数据功能........................................................................................................................40 1) 查找字段点击某值的下拉按纽弹出一个从数据库取值下拉表...............40 2) 使用DBGridEh自动过滤实现方法.....................................................................40 3) 使用DBGridEh自动过滤实现方法2 ..................................................................41 4) DBGridEh 控件中使用过滤功能 (适用ehlib 5.2 ehlib 5.3)................................42 5) 支持模糊查询.........................................................................................................43 6) ehlib4.4.50中支持模糊匹配的修改方法..............................................................44 7) EhLib 5.0 Build 5.0.13的过滤字串都是模糊过滤修改.......................................45 8) 滚动条滚动时选择不变,还有自动过滤功能的实现.........................................45 9) 增量搜索................................................................................................................46 10) ehlib总是按两次ctrl+f才出来查找框,怎么办?.........................................46 11) 如何改良dbgrideh的文字过滤........................................................................46 12) 改进DBGrideh 表头点击自动排序,实现双击状态轮流.................................47 13) 改良Ehlib 的排序功能,加快排序速度.............................................................49 14) 在DbGridEh显示TreeView效果................................................................50 15) DBGridEh-KeyList、PickList............................................................................51 16) 主从表设置........................................................................................................53 17) 在DbGridEh显示表中表..............................................................................55 6. 输入/输出.......................................................................................................................56 1) 导入导出数据.........................................................................................................56 2) 从多种格式导入/导出数据到TDBGridEh...........................................................57 3) DBGRID 生成EXCEL报表.................................................................................57 4) 使用TPrintDBGridEh 组件.................................................................................61 5) 打印时确定Ehlib定义的报表表头颜色? ............................................................61 6) Ehlib 中的PrintDBGridEh如何印页码,即第几页共几页...................................62 7) 怎么让PrintDBGridEh只打印DbGridEh 中指定的.......................................62 8) 怎样进行横向打印/ 打印预览?........................................................................62 7. 将存在的DBGrid组件转换为DBGridEh组件...........................................................62 三、EhLib安装问题.............................................................................................................64 1. EhLib 安装步骤.............................................................................................................64 2. EhLib 安装问题(dbsumlst.dcu出错) ..........................................................................64 3. 安装提示找不到.BPL文件...........................................................................................65 四、Delphi 下的优秀表格(Grid)显示控件........................................................................65 1. NextGrid .........................................................................................................................65 2. TopGrid 3.01...................................................................................................................65 3. XLGrid............................................................................................................................66 4. DevExpress ExpressQuantumGrid .................................................................................66 5. TMS Grid Pack...............................................................................................................68 6. EhLib ..............................................................................................................................71 白波九道整理自用版 第 4 页 7. ProfGrid..........................................................................................................................71 8. EasyGrid .........................................................................................................................71 五、delphi 中配置文件的使用(*.ini).........................................................................71 六、窗口动画效果Animatewindow应用...........................................................................72 七、Delphi Excel to Sql Server..............................................................................................73 八、Delphi控制Excel的经验如下:..................................................................................76

5,387

社区成员

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

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