0
從一個TreeView,我得到這個XML序列化:如何TreeView的序列化加載到GridView控件
<?xml version="1.0" encoding="utf-16"?><node text="<span id='c6f5ab9e-d08f-448a-9143-02d174317c07' oncontextmenu="SetContextMenu(this.id, event);return false;" >Zürich</span>" value="c6f5ab9e-d08f-448a-9143-02d174317c07" navigateurl="" populateondemand="False" showcheckbox="false" checked="False" expanded="True" selected="False"> <node text="<span id='f28df8d9-f83f-494c-a88e-591c7266c455' oncontextmenu="SetContextMenu(this.id, event);return false;" >Gebäude 1</span>" value="f28df8d9-f83f-494c-a88e-591c7266c455" navigateurl="" populateondemand="False" showcheckbox="false" checked="False" expanded="True" selected="False"> <node text="<span id='e8cd5ca3-e25c-4900-b49e-53a5a6b0f19a' oncontextmenu="SetContextMenu(this.id, event);return false;" >Etage 1</span>" value="e8cd5ca3-e25c-4900-b49e-53a5a6b0f19a" navigateurl="" populateondemand="False" showcheckbox="false" checked="False" expanded="True" selected="False"> <node text="<span id='31360723-0be2-47e5-814c-4837c174c9a1' oncontextmenu="SetContextMenu(this.id, event);return false;" >Raum 203</span>" value="31360723-0be2-47e5-814c-4837c174c9a1" navigateurl="javascript:SetUrl('./raumplaner.aspx?raum=31360723-0be2-47e5-814c-4837c174c9a1');" populateondemand="False" showcheckbox="false" checked="False" expanded="True" selected="False" /> <node text="<span id='5accd32f-7a85-46de-99a3-0853843b4e99' oncontextmenu="SetContextMenu(this.id, event);return false;" >Raum 211</span>" value="5accd32f-7a85-46de-99a3-0853843b4e99" navigateurl="javascript:SetUrl('./raumplaner.aspx?raum=5accd32f-7a85-46de-99a3-0853843b4e99');" populateondemand="False" showcheckbox="false" checked="False" expanded="True" selected="False" /> <node text="<span id='67774365-233b-4176-93f4-65c4e4953daa' oncontextmenu="SetContextMenu(this.id, event);return false;" >Raum 511</span>" value="67774365-233b-4176-93f4-65c4e4953daa" navigateurl="javascript:SetUrl('./raumplaner.aspx?raum=67774365-233b-4176-93f4-65c4e4953daa');" populateondemand="False" showcheckbox="false" checked="False" expanded="True" selected="False" /> <node text="<span id='ea86389f-b6ef-433e-97da-e3395f216ee5' oncontextmenu="SetContextMenu(this.id, event);return false;" >Raum 4</span>" value="ea86389f-b6ef-433e-97da-e3395f216ee5" navigateurl="javascript:SetUrl('./raumplaner.aspx?raum=ea86389f-b6ef-433e-97da-e3395f216ee5');" populateondemand="False" showcheckbox="false" checked="False" expanded="True" selected="False" /> </node> </node></node>
現在我想所有的節點讀入一個gridview 所以我使用的XmlDataSource,它指向XML文件,並讓它將數據綁定到gridview。
問題是,因爲它是一個包含文件夾和子文件夾的導航結構,它包含項目,它只加載第一個文件夾,沒有別的。
GridView控件:`
<asp:GridView ID="GridView1" DataSourceID="xmldsDefaultMenu" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField ReadOnly="True"
HeaderText="Name"
InsertVisible="False"
DataField="text"
SortExpression="ProductID">
</asp:BoundField>
<asp:BoundField HeaderText="ID"
DataField="value"
SortExpression="ProductName">
</asp:BoundField>
<asp:BoundField HeaderText="URL"
DataField="navigateurl"
SortExpression="QuantityPerUnit">
</asp:BoundField>
</Columns>
</asp:GridView>
`
樹形視圖:
<asp:TreeView ID="TreeView1" Runat="server" DataSourceID="XmlDataSource1" ImageSet="Arrows" >
<HoverNodeStyle BackColor="#D7E8F3" BorderColor="#A7B4CE" Font-Underline="false" />
<SelectedNodeStyle ForeColor="#FF0000" BackColor="#FAF3F4" BorderColor="#A7B4CE" Font-Underline="False" HorizontalPadding="0px" VerticalPadding="0px" />
<DataBindings>
<asp:TreeNodeBinding DataMember="node" TextField="text" ValueField="value" PopulateOnDemand="false" NavigateUrlField="navigateurl" >
</asp:TreeNodeBinding>
</DataBindings>
</asp:TreeView>