delphi dbgrideh第一次查询没有下面的滚动条,要手动拉一下栏宽才会出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi dbgrideh第一次查询没有下面的滚动条,要手动拉一下栏宽才会出来相关的知识,希望对你有一定的参考价值。

delphi dbgrideh第一次查询没有下面的滚动条,要手动拉一下栏宽才会出来,有没有办法让它自动显示需求的栏宽,就是自动栏宽,不用代码,直接在属性里设置可以实现吗

参考技术A 可能你的ehlib版本不对,我这里就没这个问题,我是在XE2下用的,加入所有字段,就OK了,加进来后会自动栏宽,不用设置。也不用在属性里设置,什么都不用做,我是delphi XE2,ehlib版本是ehlib160 for delphi xe2追问

能不能给我下载地址

参考技术B 把你的dbgrideh放到groupbox中,并将dbgrideh的align属性设置为alclient试试本回答被提问者采纳

delphi 怎样使dbgrideh 中符合某个条件的记录不能修改

是在DBGRIDeh 里面符合某个一定条件的某个行不能修改!比如 if Dateset.fieldByName('完工标记'):=1 then 符合这样的条件的记录不能修改。

你可以在dbgrideh的ONCellClick事件里写符合某个条件的记录不能修改的代码,如果符合条件,dbgrideh1.ReadOnly:=true,试一试。
procedure Tform1.DBGridEh1CellClick(Column: TColumnEh);
begin
if Dateset.fieldByName('完工标记')=1 then
dbgrideh1.ReadOnly:=true
else
dbgrideh1.ReadOnly:=false;
end;
参考技术A 可以写入ADO.beforeedit事件中,代码如下:
if ado.fieldbyname('fieldname').asstring = '' then
begin
showmessage('某某字段为空,不能修改!'); //如符合条件,给出提示
abort; //退出执行
end
参考技术B 条件是动态的吗?

如果你是想不能修改某些记录,你可以在建表的时候多加个字段,boolean属性,为true是可以修改,为false是不能修改,自己在程序里控制
参考技术C dbgrideh只不过是数据的表现形式。
如我要某个字段等于1时可编辑,其余则不可编辑
则可以
if DataSet.FieldByName('zd').asString = '1' then
dbgrideh.readonly := false
else
dbgrideh.readOnly:= True;

可以把这段代码写在数据集的afterscroll事件里。

以上是关于delphi dbgrideh第一次查询没有下面的滚动条,要手动拉一下栏宽才会出来的主要内容,如果未能解决你的问题,请参考以下文章

delphi的dbgrideh中有个区域选中数据的功能。怎样才能知道 选中区域的最上面的行和最下面的行?

Delphi DBGridEH查询出内容之后,自动执行选中点击第一行的内容动作.

delphi DBgridEh多行单元格如何实现~急!!

delphi sqlite dbgrideh 锁定数据库

delphi 在DbGridEh中显示TreeView 效果

Delphi DbGridEh实现表格没有内容的渐变效果