怎样知道DBGrid中目前定位的是哪以条记录? 使用table.locate('fieldname',form2.dbgrid1.datasource.dataset.fieldbyname('fieldname').value,[]); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在DBGrid中用户更改焦点则相应的dataset也改变记录位置,所以dataset的当前记录就是用户选择的记录 同意楼上的。在Dbgrid中选择的记录,可以通过如query1.fieldbyname('Id')得到相应值 DBGRID选择的是那条记录,当前的就是那条记录了,不用查找的。DBGRID与DATASOURCE关联,都属于数据感应控件,所以不用再查找了。 xiao_mi(宝祯) 说的是大家都用数据控件而且DBGRID的DATASET是一个表,如果是个QUERY,可能DBgrid中的显示不全,而你要给用户的是字段信息更多,这时就只能用QUERy来找到这个值了:Query2.close;query2.sql.clear;query2.sql.add('select * from tablename where id=:id');query2.parameters.parambyname('id').value:=dsgrid.datasource.dataset.fieldbyname('id').value;query2.open;然后再把值写进其它组件中。 dbgridOnClick()var temstr:string;begin temstr:=dbgrid.fields[0].asstring;//temstr就得到的当鼠标单击DBGRID得到的FIELDS[0]的值。end 最简单就是在form上放个dbedit,dataset与dbgrid的相同,locate(dbedit.text),完事 Delphi 用IDHTTP组件隐藏打开网页 使用httprio控件,怎么可以选择本地的ip 关于Delphi中引用单元问题 如何在其他的D3D窗口上画图 急求定位内存访问错误的方法 请教DELPHI8.0的问题 一个function,返回stringlist,如果我在function中用了stringlist.destroy,那么调用的时候就出错 indy chat问题 如何用delphi编程连接Access数据库 报表,怎么设纸张? 在DEIPHI中如何调用WORD打开WORD文档 为什么我收不到E-MAIL通知?
query1.fieldbyname('Id')得到相应值
如果是个QUERY,可能DBgrid中的显示不全,而你要给用户的是字段信息更多,
这时就只能用QUERy来找到这个值了:
Query2.close;
query2.sql.clear;
query2.sql.add('select * from tablename where id=:id');
query2.parameters.parambyname('id').value:=dsgrid.datasource.dataset.fieldbyname('id').value;
query2.open;
然后再把值写进其它组件中。
var
temstr:string;
begin
temstr:=dbgrid.fields[0].asstring;//temstr就得到的当鼠标单击DBGRID得到的FIELDS[0]的值。end