楼主把BizFormCreate事件中的代码放到timer事件中吧,见下面代码:
procedure TSB_SBGL.Timer1Timer(Sender: TObject);
var
NodeData: TNodeData;
begin //打开数据集
DataSetBroker1.DataSet.open ;
DataSetBroker2.DataSet.open ;
FQuery := TQuery.Create(nil);
FQuery.ConnectionString := BizObjConsts.cSysDatabaseConnectionString;
with datasetbroker1.DataSet do
while not datasetbroker1.DataSet.eof do
begin
NodeData := TNodeData.Create;
NodeData.ID := FieldByName('INST_ID').asstring;
NodeData.FID := FieldByName('ZLJDFID').asstring;
NodeData.MC := FieldByName('ZLMC').asstring;
NodeData.ChildTableName := FieldByName('GS').asstring;
DataTreeView1.Find(FieldByName('INST_ID').asstring).Data := NodeData;
// TCNode.Data:= NodeData;
datasetbroker1.DataSet.Next;
end;
if not LSGX.DataSet.Active then lsgx.DataSet.Open;
DataGrid1.ApplyBestFit(nil);
Timer1.Enabled :=False;
end;