40 列 * 800 行を生成するストアド プロシージャに接続された TADODataSet があります。TADODataSet には、次のようなフィールドである OnGetText を割り当てる AfterOpen イベントがあります。
procedure TForm1.ADODataSet1AfterOpen(DataSet: TDataSet);
begin
with DataSet do
begin
Fields[4].DisplayLabel:=TR(AS2); //RefId
Fields[4].DisplayWidth:=8;
Fields[4].Tag:=1;
Fields[4].OnGetText:=RefGetText;
Fields[5].DisplayLabel:=TR(AS3); //ClientId
Fields[5].DisplayWidth:=8;
Fields[5].Tag:=1;
Fields[5].OnGetText:=ClientGetText;
end;
end;
procedure TForm1.RefGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if Sender.DataSet.FieldByName('RelStoreId').AsString='' then
Text:='NO REF ID'
else
KHDM.RefGetText(Sender,Text,DisplayText);
end;
procedure TForm1.ClientGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if Sender.DataSet.FieldByName('ClientId').AsString='' then
Text:='Client ID is not Assigned'
else
KHDM.ClientGetText(Sender,Text,DisplayText);
end;
テキストを含む XML にデータをエクスポートしたい 非常に遅いため、フィールドとレコードでループを作成したくない 一括コピーのようなものをストリーミングしたい、またはそのようなものが欲しい
同じ方法を使用する約800のモジュールがあるため、作業方法を変更できません...
助けてください。