webForumDet fria alternativet

ListView med dynamisk ItemTemplate

1 svar · 686 visningar · startad av ironhead

ironheadMedlem sedan mars 20011 346 inlägg
#1

Hej alla glada :)!

Jag skulle vilja att där placeholdern "PHEven" är ska jag kunna skapa en tabell med ett bestämt antal celler via code-behind.
I vilket "event" ska jag generera tabellen, och hur ska man lyckas med detta?

<asp:ListView ID="ListView1" runat="server" DataSourceID="sqlObjects">
  <LayoutTemplate>
   <table>    
    <tr>
      <th>Headline</th>
    </tr>                             
        <tr id="itemPlaceholder" runat="server"></tr>
    </table> 
   </LayoutTemplate>
      <ItemTemplate>
         <tr>
            <td class="even">
              <asp:PlaceHolder runat="server" ID="PHEven" />
	</td>
          </tr>
        </ItemTemplate>
</asp:ListView>

kan man göra såhär...

dim sb as new stringbuilder
 sb.append("<table><tr>")

  for i as integer = 0 to 4
    sb.append("<td>" & i & "</td>")
  next

  sb.append("</tr></table>")

 dim lit as new literal
  lit.text = sb.tostring

  dim PHEven as Placeholder = CType(Listview1.findcontrol("PHEven"), Placeholder)
  PHEven.controls.add(lit)

Ska man göra sådär....och i vilket event ska man skapa denna tabell?

EchOMedlem sedan aug. 2001112 inlägg
#2

Hade nog valt att göra en nested repeater istället.

<asp:Repeater id="parentRepeater" runat="server">
	<itemtemplate>
		<b>
		 <%# DataBinder.Eval(Container.DataItem, "au_id") %>
		</b>
		<br>
		<asp:repeater id="childRepeater" runat="server" 
                    datasource='<%# ((DataRowView)Container.DataItem)
      .Row.GetChildRows("myrelation") %>' >
			<itemtemplate>
				<%# DataBinder.Eval(Container.DataItem, "[\"title_id\"]")%><br>	
			</itemtemplate>
		</asp:Repeater> 
	</itemtemplate>
</asp:Repeater>
140 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)