我正在创建自己的从 TMSFMXGrid 派生的 DBGrid。如果使用 Live Bindings 链接,我如何找出链接到该网格的数据集?在设计时,您可以在对象检查器属性 LiveBinding 中看到,但在运行时无法访问。否则我将不得不发布我自己的属性,您可以在其中定义使用的数据集。
问问题
628 次
1 回答
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;
于 2013-04-04T14:25:16.413 回答