delphi 点击按钮后dbgrid显示所选内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 点击按钮后dbgrid显示所选内容相关的知识,希望对你有一定的参考价值。
例如,点击“修改”按钮后,在dbgrid中选择的内容可以在另外一个form中完整的列出来
详细点:就是放在form1中的dbgrid控件,点击修改按钮后,form2弹出并显示在dbgrid中所选的内容,form2里都是edit.text,一一对应dbgrid中的属性
我是这样做的,首先,你定义一个公共类,不如你定义成pp
public
Public declarations
pp: Integer;
然后在表二的数据集里面,也就是QUERY的SQL属性里面写上查询语句
select * from table where 字段 =:pp
最后在你那个修改的按钮里面,写代码
Form1 := TForm1.Create(Application);
Form1.pp := ADOQuery1.FieldByName('字段').AsInteger;
Form1.Release;
你看看可以不 参考技术B 直接读DBGRID连接的数据集就行了 参考技术C 不知道你这两个界面的数据集不是同一个吧,那你就得在点修改的这个数据集上写滚动事件(也就是说在这数据集的AfterScroll事件中写入另一个数据集的查询语句)
Delphi中点击DBGrid中某一单元格时,后面出现个按钮可以点进去,出现一个新窗体,进行选择。
选择完后,自动添加到DBGrid中。
用delphi自带的DBGrid就能很好的实现这个功能:在DBGrid 中添加你要再Grid中显示的所有字段(columns属性),然后选择你要出现按钮的那个字段,将属性ButtonStyles 设置为cbsEllipsis,然后再 DBGrid 的 OnEditButtonClick时间中编写探出新窗口的代码即可 参考技术A 在新窗口form2里,比如有一个adoquery2数据的条目供选择,用户选择好后按‘增加’按钮,可以这样设定:
procedure TForm2.okBtnclick(Sender: TObject);
begin
mainform1.query1.insert; // 在query1里增加
mainform1.query1.fieldbyname('field1').asstring := query2.fieldbyname('field1').asstring;
mainform1.query1.fieldbyname('field2').asstring := query2.fieldbyname('field2').asstring;
mainform1.query1.fieldbyname('field3').asstring := query2.fieldbyname('field3').asstring;
// ... 根据query2设定增加的数据值
mainform1.query1.post; // 写数据库
close; // 把当前的form2关闭
end; 参考技术B 使用ehlib第三方控件,dbgrideh,你可以在dbgrideh里的某一列增加editbuttons
然后在button写click事件就可以了,如果有多列数据要显示,用逗号分开。 参考技术C 使用ehlib,dbgrideh控件可以实现,你可以在dbgrideh里的某一列增加editbuttons
然后在button写click事件就可以了
以上是关于delphi 点击按钮后dbgrid显示所选内容的主要内容,如果未能解决你的问题,请参考以下文章