DELPHI dbgrid 选中的是第几行 怎么判断?

如题!
谢谢!

使用DataSource.DataSet.RecNo可以得到dbgrid选中的是第几行,示例代码如下:

procedure TForm1.btn1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(dbgrd1.DataSource.DataSet.RecNo));
end;

效果如下:

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-14
dbgrid是数据感知控件,它的后面一定有绑定数据集的。当你在界面上通过鼠标或方向键改变当前行的时候,后台数据集的当前记录就会自动变化。所以,你不需要了解当前选中的是第几行,你只要心里清楚数据集的当前记录与dbgrid当前选中行是一致的就行了;操作当前行,就是要去操作数据集的当前记录。
第2个回答  推荐于2016-01-21
先用ADOQuery连接数据库在DBgrid内显示出来~~~~之后在DBgrid的OnCellClick事件写如下代码
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
self.Edit1.Text:= inttostr(Column.ID); //列号
self.Edit2.Text:= inttostr(self.ADOQuery1.RecNo); //行号
end;本回答被提问者采纳
第3个回答  2015-12-26
DBGrid1.SelectedIndex // 为当前选中的第几行的索引

delphi 7 DBgrid 怎样判断光标 是在第一行和最后一行呢?
判断dataset的记录位置 比如dataset你用的adoquery,dbgrid已经关联了adoquery1 if adoquery1.recno=1 then showmessage('第一行')else if adoquery1.recno = adoquery1.recordcount then showmessage('最后一行');

delphi 怎么判断dbgride是否选中一行数据,然后提取选中的内容
1.delphi的数据集只要是打开的,且数据集记录数大于0时,必然有一行数据是选中的:)2.delphi的编辑组件,如楼主所说的Edit分为数据敏感与非敏感两种,象楼主说的这种情况,应该用数据敏感组件,设置dbEdit的数据源,字段名即可完成(数据敏感组件名称一般开头为DB)...

DELPHI DBGRID组件的行数
query1.open;dbgrid的总行数就是 query1.recordcount dbgrid1.Columns.Grid.Fields[7].Value 这个是选中列第八行的值 还有别的方法 比如你在dbgrid的cellclick方法中写 dbgrd1.DataSource.DataSet.FieldByName('你想取的字段名称').AsString 这个可以取出你想点中的某行的某个字段内容 ...

Delphi6中DBGrid中怎么得到选定项的行数??
回答:我知道DBGridEh 是可以的,然则DBGrid 没有试过 TDrawGrid(DBGridEh1).row可以获得当前行号,楼主可以尝尝这种办法,估计行的.

delphi怎样取出DBgrid固定第几行第几列单元格中的数据,放到设定的变 ...
DBgrid只能读当前行的数据,好像没有直接的办法读指定某行某列的数据,不过可以变通一下,先用ADO把记录移到指定行的记录,然后再读出指定列的数值。ADO.RecNo := n; \/\/第n行s := DBGrid1.Fields[m].DisplayText; \/\/第m列元素

delphi的DBGrid排序问题
很简单,您做DBGrid表头单击事件即可,单击那列,就按那列排序显示。以下是我的餐饮软件的一句话:procedure TFrmLineEat.DBGrid2TitleClick(Column: TColumn); {排序餐饮显示数据} begin dm.ClientDataSet_Temp7.IndexFieldNames := Column.Field.FieldName;end;参考资料:个人商用软件 ...

delphi dbgrideh 点击一行数据行是,在第一行数据行上面出现一行显示我...
在第二个DbGrid的DataSet,比如Table、Query之类的控件上,设定MasterSource、MasterField为第一个主表的源 与 关键字,这样第二个表的内容会根据第一个表的内容变化 如果需要还可以在onDrawDataCell事件中加入突出显示格式的代码。希望对您有用!

Delphi DBGridEH查询出内容之后,自动执行选中点击第一行的内容动作.
DBGrid是数据展示组件,它通过数据感知组件例如DataSource对数据组件如DataSet进行响应,因此,在一个DataSet或Query打开之后,执行First语句即可将数据指针(游标)指向首行,然后对当前行进行操作即可。原理如此,数据库操作均如此。

关于delphi中DBGrid显示数据的问题。
表应该有个ID字段 query查询显示数据就是 order by id (可以是升序或者是降序)那新增以后 用query的 last 或者 first就能移动到新增的那个位置 query 的 Delete方法:删除数据集中的当前记录,并使当前记录指向下一条记录。所以你想显示上一行记录 只要 执行Delete 以后 执行 adoquery.Prior ...

delphi中的dbgrid中若选中一行,怎么使修改数据后,还是显示选中这一行...
用DBGridEH吧,它的edit属性中有一条可以很容易的选中一行中的字段并双击修改,原生的dbgrid没有单个字段双击后修改的功能。谢采纳我的答案,谢谢

相似回答