Delphi Firemonkey 中 TDBGrid 这个控件已经没有了。如何实现类似这个效果呢。其实可以用TGrid 来实现。以下用 delphi Xe10.4 来讲解。
查询里面用到的 connection 和 query 等控件那些一般的数据库用法,就不做过多描述了。请参考其他资料。
方法一.通过界面配置来实现
在界面里面放入 TGrid 控件 Grid1(有些版本不支持TGrid ,可以换 TStringGrid),TBindingsList 控件 BindingsList1 ,TbindsourceDB 控件 bindsourceDB1,TButton 控件 Button1。
在bindsourceDB1的dataset属性设置对应的 query控件名称。
双击 bindingslist1 控件,
增加一个 TLinkGridToDataSource 控件
设置 DataSource 属性和 GridControl 属性。
可以看到效果如下。
设置哪些 columns 可以显示。
输入具体中文字段名 和 引用的表字段名
最终效果
运行在 Linux 下效果。windows 效果就不详细了。(相关的配置不在这里描述了,找不到文件等,自己配置引用一下就行)
方法二.通过编程来实现
在界面里面放入 TGrid 控件 Grid1,TBindingsList 控件 BindingsList1 ,TBindingsList 控件 BindingsList1 ,TButton 控件 Button1。
由于引用了一大堆的单元,建议先界面配置一次,集齐所有的 uses , 然后再改成编程控制,不然会提示缺少引用。
加入如下代码
var
LinkGridToDataSource1: TLinkGridToDataSource;
procedure TForm2.Button1Click(Sender: TObject);
begin
LinkGridToDataSource1:=TLinkGridToDataSource.Create(nil);
LinkGridToDataSource1.SetParentComponent(BindingsList1);
LinkGridToDataSource1.DataSource:=BindSourceDB1;
LinkGridToDataSource1.GridControl:=grid1;
//LinkGridToDataSource1.Columns.Add 配置 Header , MemberName, 这部分的处理这里就不详细了,
end;