我是用SaveToFile保存,用LoadFromFile读取。
但是经常性的是不显示数据。
文件被保存有251k,说明是有内容的,而且,我还打开看了,是有内容的。
字段的显示顺序和sql的顺序是一样的。
难道,asta在Load前要设置什么吗?
还是我用错了。
请高手指教。

解决方案 »

  1.   

    看一下格式是不是这样的?
    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;
      

  2.   

    无关。
    我用的是asta,一种类似TAdoClientDataSet的控件。
      

  3.   

    TMD
    最近我变高手了吗?
    提的问题,怎么总没人能解啊。
    草,我自己找到答案了。
    SaveToFile前,不能做任何其他的事情,特别是SortedByFieldName等等。