动态绑定和主细表——Fetch

Fetch是SDK里自带的sample,描述了如何创建主细表结构并动态获取数据。


第一步,创建主细表。在schema中添加表orders和order details,回到客户端右击tbl_OrderDetails启动主细表向导:

选择 DataSource MappingMode :
点击 Next 选择描述主细表关系的字段 :
点击 Next 完成向导。这样第一步对表结构的构架就已经完成。


第二步,如何实现动态绑定表数据。
1,在主表orders里字段pa'rams设置StartingOrderID


2,打开schema,设置两个字段的属性一样


3,编辑tbl_orders事件afterScoll
procedure TClientForm.tbl_OrdersAfterScroll(DataTable: TDADataTable);
var
  lrecordcount: integer;
begin
  if fFetchRequired and DataTable.EOF and not DataTable.Fetching then
    with DataTable do begin
      ParamByName('StartingOrderID').AsInteger := FieldByName('OrderID').AsInteger;
      MaxRecords := strtoint(edit1.text);
      lrecordcount := DataTable.RecordCount;
      LoadFromRemoteSource(True);
      lrecordcount := RecordCount-lrecordcount;
      fFetchRequired := lrecordcount = MaxRecords;
      if not fFetchRequired then
        MessageDlg(Format('Done fetching!!! Expected %d rows but only got %d ',
                          [MaxRecords, lrecordcount]), mtInformation, [mbOK], 0);
    end;
end;

4,FILL按钮
procedure TClientForm.Button1Click(Sender: TObject);
begin
  if not tbl_Orders.Active then begin
    tbl_Orders.ParamByName('StartingOrderID').AsInteger := 0;
    tbl_Orders.MaxRecords := strtoint(edit1.text);
    fFetchRequired := True;
  end;
  tbl_Orders.Active := not tbl_Orders.Active
end;




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值