我正在创建自己的DBGrid,它来自TMSFMXGrid。如果使用实时绑定链接,我如何找出链接到此网格的数据集?在设计时,您可以在对象检查器属性LiveBinding中看到,但在运行时无法访问。否则,我将不得不发布我自己的属性,您可以在其中定义使用过的数据集。
答案 0 :(得分:0)
经过几个小时的搜索,我发现了这个解决方案。
function GetDataSet: TDataSet;
var
obj: TColumnDescObject;
dts: TBaseLinkingBindSource;
ds: TDataSet;
begin
Result := nil;
if ColumnDescList.Count > 0 then
begin
obj := TColumnDescObject(ColumnDescList.Items[0]);
if Assigned(obj) then
begin
dts := obj.ColumnDesc.DataSource;
if Assigned(dts) then
begin
if dts is TCustomBindSourceDB then
begin
ds := (dts as TCustomBindSourceDB).DataSet;
if Assigned(ds) then
begin
Result := ds;
end;
end;
end;
end;
end;
end;