想把XML解析出来的数据通过列表显示出来
就是相当于表格,有表头,每一行一条数据
xml为:
<data>
<student>
<id>1</id>
<name>zhang</name>
<age>21</age>
</student>
<student>
<id>2</id>
<name>wang</name>
<age>23</age>
</student>
</data>
显示为
学生姓名 学生年龄
zhang 21
wang 23xml可能包含N个学生,列表也能动态显示n行学生数据,点某一行
的时候能弹出个窗口,把id传到新窗口显示学生的详细信息(30多项目)请问在delphi里用什么控件比较好,ListView吗?具体怎么操作这个控件,
给出例子代码,100分全给
就是相当于表格,有表头,每一行一条数据
xml为:
<data>
<student>
<id>1</id>
<name>zhang</name>
<age>21</age>
</student>
<student>
<id>2</id>
<name>wang</name>
<age>23</age>
</student>
</data>
显示为
学生姓名 学生年龄
zhang 21
wang 23xml可能包含N个学生,列表也能动态显示n行学生数据,点某一行
的时候能弹出个窗口,把id传到新窗口显示学生的详细信息(30多项目)请问在delphi里用什么控件比较好,ListView吗?具体怎么操作这个控件,
给出例子代码,100分全给
data.pasprocedure TMainForm.btnCloseClick(Sender: TObject);
begin
Application.Terminate;
end;procedure TMainForm.btnGetDataClick(Sender: TObject);
var
XMLFilePath: string;
begin
XMLFilePath := ExtractFileDir(ParamStr(0)) + '\data.xml';
GetDataFromXMLToLV(XMLFilePath);
end;procedure TMainForm.FormCreate(Sender: TObject);
begin
SetListViewColumn();
end;{----------------------------------------------------------
函数名称: GetDataFromXMLToLV;
函数参数: const aXMLFilePath: string;
参数说明: XML文件的路径;
函数作者: kjiwu
函数返回值: None
函数说明: 从XML文件中取出数据到ListView中;
----------------------------------------------------------}
procedure TMainForm.GetDataFromXMLToLV(const aXMLFilePath: string);
var
Root: IXMLData;
i: Integer;
Node: TListItem;
begin
Root := Loaddata(aXMLFilePath);
for i := 0 to Root.Count-1 do
begin
Node := lv.Items.Add;
with Node do
begin
Caption := Root.Student[i].Name;
SubItems.Add(Root.Student[i].Age);
SubItems.Add(Root.Student[i].Id);
end;
end;
end;procedure TMainForm.lvClick(Sender: TObject);
begin
if lv.Selected = nil then Exit; ShowMessage(lv.Selected.SubItems.Strings[1]);
end;procedure TMainForm.SetListViewColumn;
var
i: Integer;
begin
lv.ViewStyle := vsReport;
for i := 0 to 2 do
begin
lv.Columns.Add;
lv.Column[i].AutoSize := true;
end;
lv.Column[0].Caption := '学生姓名';
lv.Column[1].Caption := '学生年龄';
lv.Column[2].AutoSize := False;
lv.Column[2].Width := 0;
end;