в Firemonkey (XE5) Я создал Frame с TStringGrid и хочу добавить "процедура ShowData (aClientSet: TClientSet);" в том, что строки Clientset должны отображаться только с помощью LiveBindings (TBindSourceDB?) Без знания чего-либо еще из набора данных и БЕЗ КОНСТРУКЦИИ? Пожалуйста, как это можно сделать во время выполнения? И как управлять тем, чтобы сетка была пополнена, если набор данных закрыт и снова открыт за рамкой (где загорается TBindings.notify)? Thx.Delphi livebinding TClientDataSet TStringGrid runtime
0
A
ответ
0
Следующая работал для меня:
- Включите Data.Bind.EngExt, Fmx.Bind.DBEngExt, Fmx.Bind.Grid, System.Bindings.Outputs, Fmx.Bind.Editors, данные. Bind.Components, Data.Bind.Grid и Data.Bind.DBScope в вашем примере использования.
Предполагая, что ваш TStringGrid называется СЕТКА1 и ваш набор данных называется QRY1:
вар
BDS: TBindSourceDB;
bdl: TBindingsList;
gtd: TLinkGridToDataSource;
начало
bds: = TBindSourceDB.Create (Self);
bdl: = TBindingsList.Create (Self);
gtd: = TLinkGridToDataSource.Create (bdl);gtd.DataSource: = bds;
gtd.GridControl: = Grid1;bds.DataSet: = qry1;
end;
Надеюсь, это поможет! (Я использовал TFDQuery в качестве своего набора данных, но я уверен, что любой потомок TDataset должен работать нормально.)