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

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

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

效果如下:

先用ADOQuery连接数据库在DBgrid内显示出来~~~~之后在DBgrid的OnCellClick事件写如下代码
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
self.Edit1.Text:= inttostr(Column.ID); //列号
self.Edit2.Text:= inttostr(self.ADOQuery1.RecNo); //行号
end;


procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
    Edit2.Text := IntToStr(Column.ID);
    Edit3.Text := IntToStr(Self.Query1.RecNo);
    Edit4.Text := Column.FieldName;
end;

原文地址:https://www.cnblogs.com/jijm123/p/10125490.html

时间: 2024-08-27 16:00:39

DELPHI dbgrid 选中的是第几行 怎么判断?的相关文章

删除dataGridview中选中的一行或多行

DialogResult RSS = MessageBox.Show(this,"确定要删除选中行数据码?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning); switch(RSS) { case DialogResult.Yes: for (int i = this.dataGridView1.SelectedRows.Count; i > 0; i--) { int ID = Convert.ToI

Delphi的TListView控件拖放选定行操作

http://www.tansoo.cn/?p=401 Delphi的TListView控件拖放选定行操作的例子,效果图如下:TListView控件拖动选定行到指定位置 具体实现步骤: 一.新建一个Delphi工程,在窗体上放置一个TListView控件(在Win32面板),设置ListView1的属性: ViewStyle设置为vsReport DragMode设置为dmAutomatic RowSelect设置为True 二.添加ListView1的OnDragOver事件的响应代码: pr

Delphi DBGrid记录全选和反选拖动处理

DBGrid1.DragMode   :=   dmManual;//留意这个设置不要变 procedure ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); procedure TForm18.ApplicationEvents1Message(var Msg: tagMSG;var Handled: Boolean);begincase   Msg.message   of          WM_LBUTTO

快捷键:快速选中当前行或者几行

当前行行首:Home 当前行行尾:End 当前文档首行:ctrl+Home 当前文档尾行:ctrl+End 选中当前行: ① 按Home(定位到行首)然后按Shift+Dnd(行尾)   {从行首连选到行尾} ②按Home(定位到行首)然后按Shift+↓(向下箭头) 选中上一行或多行: 按Home(定位到行首)然后按Shift+↑(向上箭头){选多行则连按多次Shift+↑即可}

delphi 高亮选中MEMO某一行

http://www.delphitop.com/html/kongjian/2641.html选中第5行 //转到指定行并选中这行的文本 procedure SelectLine(Memo1: TMemo; ln: Integer); begin Memo1.SelStart := SendMessage(Memo1.Handle, EM_LINEINDEX, ln - 1, 0); Memo1.SelLength := Length(Memo1.Lines[ln - 1]); end; ht

问题-delphi 无法调试(F8),调试错行总理处理

在delphi 7中(其他版本也可能碰到该问题),编译后,代码左边显示蓝色小点,表示哪句代 码是被编译了的,可今天我的一些代码不能显示那些蓝点了,这样也就不能在上面设断点了,而且用F8跟踪发现执行的顺序不对.同时,编译中发现有错误的行,也没有指到对应的行上,可能在错误行的下一行,甚至有时候会执行到注释行或者空行上.造成该问题的原因是Dos换行和Unix换行的差异造成的错误. Dos换行是2个字符,一个回车符+一个换行符. Unix换行只有一个自符,好像是换行符.这样在Delphi编辑器内显示时候

Delphi DBGrid双击事件、单元格操作

1.得到当前格子中的内容: DBGrid1.Fields[DBGrid1.SelectedIndex].DisplayText; 把DBGrid1.SelectedIndex改为你所希望引用的字段就可以了,如第3个字段. DBGrid1.Fields[3].DisplayText; 2.双击单元格触发不同事件 procedure TMainFrm.DBGrid1DblClick(sender:TObject); begin if dbgrid1.fields[dbgrid1.selectedIn

VBA返回选中单元格区域的行数、列数,以及活动单元格的行号和列号

Private Sub Worksheet_SelectionChange(ByVal Target As Range)    Dim rows_count As Integer    Dim rows_id As Integer    Dim column_count As Integer    Dim column_id As Integer    column_count = Selection.Columns.Count '返回选择区域列数    rows_id = ActiveCell

如何在DBGrid里实现Shift+“选择行”区间多选的功能!

DELPHI 的TDBGrid 控 件 主 要 用 来 处 理 数 据 表, 它 的 属 性 中 有 一 个dgMultiSelect, 若 此 属 性 设 定 为TRUE, 则 可 以 选 中 多 个 记 录( 可 用CTRL + 鼠 标 左 键 选 择 多 个 记 录). 对 选 中 的 多 个 记 录可 以 有 以 下 几 种 处 理 方 式, 比 较 简 单 的 两 种 是: 清 除 所 有的 选 择 记 录 可 用DBGrid1.SelectedRows.Clear 语 句; 删 除