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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi DBGridEH查询出内容之后,自动执行选中点击第一行的内容动作.相关的知识,希望对你有一定的参考价值。

使用DBGridEH 查询出内容之后,.不管有多少行内容..直接自动定位到第一行,并且要执行一个点击第一行的动作,.(就相当于当查询出内容之后,人手工鼠标点击一次第一行).....
请问怎么做?添加什么代码? 我使用的是控件和代码如下:

参考技术A DBGrid是数据展示组件,它通过数据感知组件例如DataSource对数据组件如DataSet进行响应,因此,在一个DataSet或Query打开之后,执行First语句即可将数据指针(游标)指向首行,然后对当前行进行操作即可。原理如此,数据库操作均如此。 参考技术B DBGridEh1双击 onCellClick 自动生成一个函数
DBGridEh1CellClick(Column: TColumnEh);

那你可以
Query1.First;
DBGridEh1CellClick(DBGridEh1.Columns[0]);
那就模拟了点击了 第一行第一列

这个是点击cell的 点击行的道理也类似追问

我要点击行....

追答

晕倒

你点击了哪行 那Query1指针也移动到了哪行

你只要在 DBGridEh1CellClick(Column: TColumnEh); 事件里


showmessage('我点击了行:'+inttostr(GridUsers.Row));

你只要执行 Query1.First; 就可以了

本回答被提问者和网友采纳
参考技术C  with DBGridEh1 do
 begin
   DataSource.DataSet.First; //定位到第一行
   SelectedRows.CurrentRowSelected:=True; //选中该行
   SetFocus; //设置焦点
 end;

参考技术D 内容出来后,默认就是第一行吧,如果要让DBGRIDEH获得焦点,可以setfocus。

如果要执行默认动作,可以把这些代码写到一个Procedure中,在查询的代码后执行下!
第5个回答  2015-12-28 如果DBGRIDEH是使用的ADOQUERY连接的话,查询完成后ADOQUERY1.FIRST 即可

delphi DBGridEh 删除指定列

delohi6中

if (FDeptID='001' ) or (FDeptID='002' ) then
begin
DBGridEh1.Columns.Items[8].Visible:=true;
DBGridEh1.Columns.Items[15].Visible:=true;
end
根据条件指定此列是否可见 ,我现在不想限制是否可见,而是根据条件删除此列。

参考技术A if DBGrid1.SelectedRows.CurrentRowSelected = True then //判断当前行是否被选中
begin
if MessageBox(Handle,'确定要删除记录吗?', '提示', mb_IconInformation+mb_YesNo+mb_DefButton2) = mrYes then
DBGrid1.SelectedRows.Delete
end
else
Application.MessageBox(PChar('没有任何记录或者没有被选中!'), '提示', mb_IconInformation);追问

这是删除行记录,不是删除列记录

本回答被提问者和网友采纳

以上是关于Delphi DBGridEH查询出内容之后,自动执行选中点击第一行的内容动作.的主要内容,如果未能解决你的问题,请参考以下文章

delphi dbgrideh 点击一行数据行是,在第一行数据行上面出现一行显示我点击的数据

delphi中dbgrideh的footer自动求和,但是数据变化后求和数值不变

delphi中如何设置DBGridEH第一列为下拉列,并使其控制表格筛选

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

delphi sqlite dbgrideh 锁定数据库

delphi:dbgrideh中设置了checkbox列,不能勾选