我需要在 Delphi 中获取DBGrid的所选单元格的值。我不知道该怎么做。我试过dbGrid的OnMouseMove
pt : TGridCoord; ... pt:=dbGrid.MouseCoord(x, y);
字符串[编辑]我可以使用OnCellClick获取带有“Column.Field.AsString”的单元格的值,但我想在点击该行的任何一列时从第一列获取值。
knpiaxh11#
找到了dbGrid.Fields[0].AsString获取所选行的第一列的值。
dbGrid.Fields[0].AsString
a6b3iqyw2#
procedure TForm1.DBGrid_DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); const defaultCheckBoxFieldNumber = 1; begin if DBGrid.SelectedField.FieldNo = defaultCheckBoxFieldNumber then ....; else ...; end;
字符串DBGrid.SelectedField.FieldNo获取TDBGrid中事件DrawColumnCell上的选定字段。
DBGrid.SelectedField.FieldNo
TDBGrid
DrawColumnCell
fnx2tebb3#
我知道这是晚了,不确定这是否是标题的意思。但如果它意味着获取选定的单元格值,那么尝试以下操作:
procedure Form1.dbGrid1CellClick(Column: TColumn); begin ShowMessage(table1.Fields[Column.Index].AsString); end;
字符串确保dbGrid1.Options.dbRowSelect:= False;
0mkxixxg4#
我认为最简单的方法是将一个隐藏的DBText连接到数据集,然后设置DBText以显示您需要的字段,这样DBText将始终包含活动记录所需的值
6bc51xsx5#
DBGrid没有焦点,因此您无法找出选择了哪一行。请看链接的DataSet。DataSet具有活动行。
DBGrid
DataSet
oiopk7p56#
尝试以下操作以获取dbgrid中所选单元格的值:第一个月
moiiocjp7#
通过代码获取dbgrid单元格字段名ShowMessage(DBGrid1.Fields[DBGrid1.SelectedIndex].FieldName);
7条答案
按热度按时间knpiaxh11#
找到了
dbGrid.Fields[0].AsString
获取所选行的第一列的值。a6b3iqyw2#
字符串
DBGrid.SelectedField.FieldNo
获取TDBGrid
中事件DrawColumnCell
上的选定字段。fnx2tebb3#
我知道这是晚了,不确定这是否是标题的意思。但如果它意味着获取选定的单元格值,那么尝试以下操作:
字符串
确保
dbGrid1.Options.dbRowSelect:= False;
0mkxixxg4#
我认为最简单的方法是将一个隐藏的DBText连接到数据集,然后设置DBText以显示您需要的字段,这样DBText将始终包含活动记录所需的值
6bc51xsx5#
DBGrid
没有焦点,因此您无法找出选择了哪一行。请看链接的DataSet
。DataSet
具有活动行。oiopk7p56#
尝试以下操作以获取dbgrid中所选单元格的值:
第一个月
moiiocjp7#
通过代码获取dbgrid单元格字段名
ShowMessage(DBGrid1.Fields[DBGrid1.SelectedIndex].FieldName);