我想用代码动态实现LOOKUP字段,如何实现,请各位给一个实例如何,我这里谢谢啦。放心我不会让你失望的。

解决方案 »

  1.   

    转贴
    在設計時增加是很簡單, 但運動時, 就有些小節要注意, 結合几個貼子, 做出了一個:
    for i := 0 to qryRegisterList.Fields.Count - 1 do
    qryRegisterList.Fields[0].Free;
    for i := 0 to qryRegisterList.FieldDefs.Count - 1 do
    qryRegisterList.FieldDefs.Items[i].CreateField(qryRegisterList);
    with TStringField.Create(qryRegisterList) do begin
    FieldName := 'aEmpName';
    FieldKind := fkLookup;
    DataSet := qryRegisterList;
    Name := qryRegisterList.Name + FieldName;
    KeyFields := 'CardNo';
    LookUpDataset := tblCardList;
    LookUpKeyFields := 'CardNo';
    LookUpResultField := 'EmpName';
    Lookup := True;
    qryRegisterList.FieldDefs.Add(Name, ftString, 10, false);
    end;
    注意,要在设计时将其它的永久字段加进到相应的dataset, 或者在运行中程序动态创建其它的字段!