我是用SaveToFile保存,用LoadFromFile读取。
但是经常性的是不显示数据。
文件被保存有251k,说明是有内容的,而且,我还打开看了,是有内容的。
字段的显示顺序和sql的顺序是一样的。
难道,asta在Load前要设置什么吗?
还是我用错了。
请高手指教。
但是经常性的是不显示数据。
文件被保存有251k,说明是有内容的,而且,我还打开看了,是有内容的。
字段的显示顺序和sql的顺序是一样的。
难道,asta在Load前要设置什么吗?
还是我用错了。
请高手指教。
procedure MakeGridXML();
var
i_xml: Tstringlist;
begin
try
i_xml := Tstringlist.Create;
if not fileexists('Grid.xml') then
i_xml.SaveToFile('Grid.xml'); i_xml.LoadFromFile('Grid.xml');
i_xml.Clear;
i_xml.SaveToFile('Grid.xml');
i_xml.Add('<?xml version="1.0" standalone="yes"?> ');
i_xml.Add('<DATAPACKET Version="2.0"><METADATA><FIELDS>');
i_xml.Add('<FIELD attrname="Iden" fieldtype="string" WIDTH="30"/>');
i_xml.Add('<FIELD attrname="Module" fieldtype="string" WIDTH="50"/>');
i_xml.Add('<FIELD attrname="Name" fieldtype="string" WIDTH="20"/>');
i_xml.Add('<FIELD attrname="Caption" fieldtype="string" WIDTH="50"/>');
i_xml.Add('<FIELD attrname="DefalutText" fieldtype="string" WIDTH="50"/>');
i_xml.Add('<FIELD attrname="DataType" fieldtype="string" WIDTH="20"/>');
i_xml.Add('<FIELD attrname="ColWidth" fieldtype="i4"/>');
i_xml.Add('<FIELD attrname="ColOrder" fieldtype="i4"/>');
i_xml.Add('<FIELD attrname="Visible" fieldtype="boolean"/>');
i_xml.Add('<FIELD attrname="FootType" fieldtype="string" WIDTH="20"/>');
i_xml.Add('<FIELD attrname="FootText" fieldtype="string" WIDTH="20"/>');
i_xml.Add('<FIELD attrname="KeyList" fieldtype="string" WIDTH="100"/>');
i_xml.Add('<FIELD attrname="PickList" fieldtype="string" WIDTH="100"/>');
i_xml.Add('</FIELDS><PARAMS/></METADATA><ROWDATA></ROWDATA></DATAPACKET>');
i_xml.SaveToFile('Grid.xml');
finally
i_xml.Free;
end;
end;
我用的是asta,一种类似TAdoClientDataSet的控件。
最近我变高手了吗?
提的问题,怎么总没人能解啊。
草,我自己找到答案了。
SaveToFile前,不能做任何其他的事情,特别是SortedByFieldName等等。