Hej, Du kan använda en Repeater istället, om du inte ska använda din DataGrid för Edit och sådana saker. Tack för svaret! Jag har lyckats få ut listan enlig följande kod: Joachim, Nja, jag vet inte riktigt varför egentligen. Tänkte att det är skönt att ha allt på samma ställe.. 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. Först, Tack för ert intresse!!Lägga till en rad i en datagrid
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!?
/JockeSv: Lägga till en rad i en datagrid
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.Sv: Lägga till en rad i en datagrid
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..
/JockeSv: Lägga till en rad i en datagrid
<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???
/JockeSv: Lägga till en rad i en datagrid
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 =)Sv: Lägga till en rad i en datagrid
Ä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!!
/JockeSv: Lägga till en rad i en datagrid
Sv: Lägga till en rad i en datagrid
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....:)