sawMedlem sedan mars 20011 880 inlägg Jag har ju fått en massa hjälp här, och jag drar mig för att störa för mycket,
men nu sitter jag där igen.
Vad det gäller är att jag behöver ett tips hur jag skall hantera min repiter.
Jag bygger ett forum, går hyffsat bra och använder mig av Access.
I en tabella så har jag kategorier, ett antal som enbart admin får ändra och
lägga till. De inloggade kan sen skriva inlägg med val av kategorierna.
Jag skulle vilja visa utdata så här
*****************
Allmänna regler
Regler
komentar till regler
Bilar
Om min bil
Reparera igen
Ny bil på gång
****************
Men jag får inte till det så. för varje ny tråd så visas också kategorier.
Förstår ni eller behöver jag visa kod? :q
[REDIGERAT]
Det kanske är på det viset att jag måste använda mig av två sqler och två repiter?
SjodahlMedlem sedan maj 20033 218 inlägg Visa kod så är det mycket lättare att guide dig igenom den.
sawMedlem sedan mars 20011 880 inlägg Ok här kommer då koden.
//i design
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table cellpadding="1" cellspacing="1" width="525px" border="1" class="alignLeft" rules="none" >
<tr class="Titel lankar" style="color:White;">
<td colspan="3"><b><h2><center>RAGGAR-FORUM</center></h2></b></td>
</tr>
<tr class="lankar" style="color:White;">
<td align="left" ><b>Rubrik<%# DataBinder.Eval(Container.DataItem,"beskrivning") %></b></td><td align="left">
<b>Nick</b></td><td align="right"><b>Datum</b></td></tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td colspan="3" title="<%# DataBinder.Eval(Container.DataItem,"beskrivning") %>" style="background-color:Black; color:White;
vertical-align:middle;">
<font size="4" class="Black"> <a href='allaForum.aspx?katId=<%# DataBinder.Eval(Container.DataItem,"katId") %>' >
<%# DataBinder.Eval(Container.DataItem,"kategori") %></a></font>
<div class="alignRight" title="Maila moderatern">Moderat:<a href="mailto:dennis.svensson@intercut.se?subject=
Fr%e5n%20Crystal Country Cruisers%3as%20hemsida"> <%# DataBinder.Eval(Container.DataItem,"moderat") %></a></div>
</td></tr>
<tr class="Light"><td>
Hits: (<%# DataBinder.Eval(Container.DataItem,"hits")%>)
<asp:Image ID="Image1" runat="server" ImageUrl='<%#ccc.App_Code.Webbutill.getPic(Container.DataItem)%>'
Visible="<%# ccc.App_Code.Webbutill.getVisible(Container.DataItem)%>"/>
<a href='readForum.aspx?id=<%# DataBinder.Eval(Container.DataItem,"forumId") %> &katId=
<%# DataBinder.Eval(Container.DataItem,"katId") %> '> <%# DataBinder.Eval(Container.DataItem,"rubrik") %></a>
</td><td><h3><%# DataBinder.Eval(Container.DataItem,"nick") %></h3>
</td><td align="right">
<%# ccc.App_Code.Webbutill.getDatum(Container.DataItem)%>
</td></tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td colspan="3" title="<%# DataBinder.Eval(Container.DataItem,"beskrivning") %>" style="background-color:Black;
color:White; vertical-align:middle;">
<font size="4"class="Black"> <a href='allaForum.aspx?katId=<%# DataBinder.Eval(Container.DataItem,"katId") %>' >
<%# DataBinder.Eval(Container.DataItem,"kategori") %></a></font>
<div class="alignRight" title="Maila moderatern">Moderat:<a href="mailto:dennis.svensson@intercut.se?subject=
Fr%e5n%20Crystal Country Cruisers%3as%20hemsida"> <%# DataBinder.Eval(Container.DataItem,"moderat") %></a></div>
</td></tr>
<tr class="Dark"><td>
(Hits: <%# DataBinder.Eval(Container.DataItem,"hits")%>)
<asp:Image ID="Image1" runat="server" ImageUrl='<%# ccc.App_Code.Webbutill.getPic(Container.DataItem)%>
' Visible="<%# ccc.App_Code.Webbutill.getVisible(Container.DataItem)%>"/>
<a href='readForum.aspx?id=<%# DataBinder.Eval(Container.DataItem,"forumId") %> &katId=
<%# DataBinder.Eval(Container.DataItem,"katId") %> '><%# DataBinder.Eval(Container.DataItem,"rubrik") %></a>
</td><td><b><%# DataBinder.Eval(Container.DataItem,"nick") %></b>
</td><td align="right"><%# ccc.App_Code.Webbutill.getDatum(Container.DataItem)%>
</td></tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
//i code behind
sql = "SELECT f.id AS forumId, f.hits, t_Forum_Kategori.id AS katId,t_Forum_Kategori.kategori, t_Forum_Kategori.moderat," +
" t_Forum_Kategori.beskrivning, f.katId, f.orginal, f.rubrik, f.nick, f.datum, f.icon, f.orginal " +
" FROM t_Forum_Kategori LEFT JOIN t_Forum AS f ON t_Forum_Kategori.id = f.katId WHERE f.id In (select top 5 id from t_forum " +
" where id = f.id order by datum desc ) AND f.orginal=True ORDER BY t_Forum_Kategori.kategori ";
Repeater1.DataSource = Webbutill.fillDs(DBConn, sql, "forum").Tables["forum"].DefaultView;
Repeater1.DataBind();
sawMedlem sedan mars 20011 880 inlägg Efter mycker exprementerande så har jag fått det att fungera.
<asp:Label ID="Lkategori" runat="server" Text="<%# getCategori(Container.DataItem)%>"></asp:Label>
//i codebehind
public string getCategori(object dataItem)
{
string sText = "";
int katId = Convert.ToInt32(DataBinder.Eval(dataItem, "katId"));
string sKategori = DataBinder.Eval(dataItem, "kategori").ToString();
string sModerat = DataBinder.Eval(dataItem, "moderat").ToString();
string strval = sKategori.ToString();
string title = "";
if(ViewState["kategori"]!=null)
title = ViewState["kategori"].ToString();
if (title == strval)
{
sText = "";
}
else
{
ViewState["kategori"] = sKategori;
sText = "<font size='4' class='Black'><a href=allaForum.aspx?katId="
+ katId + ">" + sKategori + "</a></font>";
sText += "<div class='alignRight' title='Maila
moderatern'>Moderat:<a href='mailto:dennis.svensson@intercut.se?
subject=Fr%e5n%20Crystal Country Cruisers%3as%20hemsida'>" + sModerat
+ "</a></div>";
}
return sText;
}
Tackar för mig. ;)