所以我這邊的做法是,使用雙重的ListVew做到動態新增row與column
外層是 row的 ListView 製作,然後裡面層是在外層的DataItem裡面多放一層ListView
然後裡面層的資料可以用外面層的物件,寫法如下
<asp:ListView ID="lvRoom" runat="server" ItemPlaceholderID="itemPlaceHolderRoom">
<LayoutTemplate>
<asp:PlaceHolder ID="itemPlaceHolderRoom" runat="server"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td style="width:10%">
<asp:HiddenField ID="HF_ROOM_ID" runat="server" Value='<%# Eval("ROOM_ID")%>' />
<%# Eval("ROOM_NAME")%>
</td>
<asp:ListView ID="lvPrice" runat="server" ItemPlaceholderID="itemPlaceHolderPrice" DataSource='<%# Eval("Price")%>'>
<LayoutTemplate>
<asp:PlaceHolder ID="itemPlaceHolderPrice" runat="server"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<asp:HiddenField ID="HF_PRICE_ID" runat="server" Value='<%# Eval("PRICE_ID")%>' />
</ItemTemplate>
</asp:ListView>
<td></td>
</tr>
</ItemTemplate>
</asp:ListView>
<asp:ListView ID="lvRoom" runat="server" ItemPlaceholderID="itemPlaceHolderRoom">
<LayoutTemplate>
<asp:PlaceHolder ID="itemPlaceHolderRoom" runat="server"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td style="width:10%">
<asp:HiddenField ID="HF_ROOM_ID" runat="server" Value='<%# Eval("ROOM_ID")%>' />
<%# Eval("ROOM_NAME")%>
</td>
<asp:ListView ID="lvPrice" runat="server" ItemPlaceholderID="itemPlaceHolderPrice" DataSource='<%# Eval("Price")%>'>
<LayoutTemplate>
<asp:PlaceHolder ID="itemPlaceHolderPrice" runat="server"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<asp:HiddenField ID="HF_PRICE_ID" runat="server" Value='<%# Eval("PRICE_ID")%>' />
</ItemTemplate>
</asp:ListView>
<td></td>
</tr>
</ItemTemplate>
</asp:ListView>
- {
- <asp:listview id="lvRoom" itemplaceholderid="itemPlaceHolderRoom" runat="server">
- <layouttemplate>
- <asp:placeholder id="itemPlaceHolderRoom" runat="server"></asp:placeholder>
- </layouttemplate>
- <itemtemplate>
- <asp:hiddenfield id="HF_ROOM_ID" runat="server" value="<%# Eval("ROOM_ID")%>">
- </asp:hiddenfield><br />
- <asp:listview datasource="<%# Eval("Price")%>" id="lvPrice" itemplaceholderid="itemPlaceHolderPrice" runat="server">
- <layouttemplate>
- <asp:placeholder id="itemPlaceHolderPrice" runat="server"></asp:placeholder>
- </layouttemplate>
- <itemtemplate>
- <asp:hiddenfield id="HF_PRICE_ID" runat="server" value="<%# Eval("PRICE_ID")%>">
- </asp:hiddenfield></itemtemplate>
- </asp:listview>
- </itemtemplate>
- </asp:listview>
- }
重點是裡面那層的ListView中的Price物件
- public class Price
- {
- public string PRICE_ID { get; set; }
- public string PRICE_NAME { get; set; }
- public int PRICE { get; set; }
- public int ADDPRICE_MAN { get; set; }
- public int ADDPRICE_BED { get; set; }
- }
- public class Room
- {
- public string ROOM_ID { get; set; }
- public string ROOM_NAME { get; set; }
- public List
Price { get; set; } public Room() { Price = new List (); } }