Lägga till en rad i en datagrid
Hej,
Jag använder en vanlig datagrid och skapar mina kolumner i code behinden.
Om man vill lägga till ytterligare en rad för varje varv i griden hur gör man då?
Alltså, för varje post vill jag presentera datat i två rader.
Hoppas någon kan hjälpa mig!?
/Jocke
Svara
Sv: Lägga till en rad i en datagrid
Du kan använda en Repeater istället, om du inte ska använda din DataGrid för Edit och sådana saker.
I en Repeater kan du lättare formattare layouten.
Om du ska ha DataGridden och presentera data på två rader så tror jag att du måste dela upp det du ska databinda till gridden innan du binder. Sedan får du använda dig av ItemTemplate och AlternateItemTemplate. Vilket blir lite krångligare.
Svara
Sv: Lägga till en rad i en datagrid
Tack för svaret!
Du har möjligtvis inget exempel på hur man kan göra med en Repeater istället? Helst vill jag göra allt i code behind..
/Jocke
Svara
Sv: Lägga till en rad i en datagrid
Jag har lyckats få ut listan enlig följande kod:
<code>
<asp:Repeater id="rptMyBooks" runat="server">
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "name")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "location")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "start_date")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "close_date")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "archive_date")%></td>
</tr>
</ItemTemplate>
<HeaderTemplate>
<table border="1" width="90%">
<tr>
<td>Name</td>
<td>Location</td>
<td>Start Date</td>
<td>Closed Date</td>
<td>Archived Date</td>
</tr>
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</code>
Men:
Jag skulle vilja lägga allt detta i code behinden, hur gör jag detta???
/Jocke
Svara
Sv: Lägga till en rad i en datagrid
Joachim,
Varför vill du flytta till kodbehind? Detta är en fungerande och vändligt vanlig lösning med god prestanda och enkel design. Lägger du det i code-behind måste du placera asp:label objekt i varje kolumn, lyssna på ItemDataBound eventet.. använda FindControl för att hitta respektiva label och fyll ai den. Användbara den metoden om du behöver lite mer avancerad logik och även då kan du använda publikametoder istället... sällan man vill gå till ItemDataBound men det finns tillfällen och jag har själv använt det flera gånger.. men löningen du har är bra som den är =)
Svara
Sv: Lägga till en rad i en datagrid
Nja, jag vet inte riktigt varför egentligen. Tänkte att det är skönt att ha allt på samma ställe..
Är som sagt, nybörjare på .net...
Men en del logik kommer jag att ha. Det ska visas olika innehåll beroende på vem som är inloggad, tex olika ikoner och länkar. Sen skall det vara ett javascript som gör att man kan dölja visa raden under.
Troligtvis kommer det också att vara så att användaren skall kunna kryssa för vilka kolumner han/hon vill se på sidan när man anger sök kriteria(detta är alltså en sökresultatsida).
Men det kanske ändå är bättre att göra som jag gjort? Hur skapar man logik i så fall i html-läget? Jag tar tacksamt emot alla tips!!
/Jocke
Svara
Sv: Lägga till en rad i en datagrid
Det är just det här som är fördelen med ASP.NET att INTE ha allt på samma ställe. I .aspx koden har du layout och design, i code-behind har du logiken. Separation av lager.
Svara
Sv: Lägga till en rad i en datagrid
Först, Tack för ert intresse!!
Okej, jag förstår vad ni menar.
Hur gör man logik på sådana saker jag skrev ovan, var skriver jag den menar jag?
/Nisse besvärlig....:)
Svara