delphi dbgrid 怎么才能只选中第一列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi dbgrid 怎么才能只选中第一列相关的知识,希望对你有一定的参考价值。

我现在需要dbgrid第一列的参数(学号),然后传到另一个form,怎么才能控制让用户只能选中第一列,这样防止参数传错

如果你的DBGRID里显示是用adoquery1来显示的,那么直接传
adoquery1.fieldbyname('学号').asstring;
这个就是你在DBGRID里选中行的学号列的值,直接传这个就行了

如果你要只显示这一列的话,就
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select 学号 from 表名');
adoquery1.open;
参考技术A 其实选中哪个列都无所谓。你传递这个学号数据的时候,直接读取你的查询或者table中当前记录中的学号数据不就是了。因为你这个是 DBgrid。 参考技术B 加一个简单的if判断就可以了。
首先,用DBGrid1.SelectedField.FieldName取得选中区域的字段名;
其次,再用FDQuery1(或ADOQuery1).Field[0].FieldName取得第一列的字段名;
最后,判断两者是否相等,若相等则执行你所需的参数传递操作,否则不予相应。
如此一来便可实现仅能选择第一列参数,选择其他列无效的效果。
参考代码如下,可按具体需求调整。procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
if (DBGrid1.SelectedField.FieldName = FDQuery1.Fields[0].FieldName) then
begin
//相应的传递参数操作;
end;
end;

以上是关于delphi dbgrid 怎么才能只选中第一列的主要内容,如果未能解决你的问题,请参考以下文章

delphi7的dbgrid选中一行双击后,弹出新窗口,并将dbgrid选中行的值传给新窗口?

delphi6,能否在DBGrid组件中,对某一列的单元格,添加下拉菜单,实现多选功能

怎样在delphi取 dbgrid的一列值来进行二次查询?

delphi问题,我想指定选中dbgrid的第X行

delphi DBGrid里面的值如何自动更新

如何把WinForms中DataGrid的第一列放上复选框,可以多项选择???急!