utilisation de group by dans linq
J'ai une nouvelles répéteur qui montrent deux champs comme News_Text
et News_Date
.
Ici, je veux juste afficher ces données avec le groupe par News_date
.
comme:
12/24/2013
test
test1
test 2
11/12/213
blah..blah
voici mon code:
private void BindNewsRepeater()
{
using (DataClassesDataContext db = new DataClassesDataContext())
{
var query = from n in db.News
orderby n.News_date descending
select new
{
News_text = n.News_text,
News_date = n.News_date
};
DataSet myDataSet = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("News_text", typeof(string)));
dt.Columns.Add(new DataColumn("News_date", typeof(string)));
foreach (var item in query)
{
DataRow dr = dt.NewRow();
dr["News_text"] = item.News_text.ToString();
dr["News_date"] = item.News_date.ToString("dd/MM/yyyy");
dt.Rows.Add(dr);
}
myDataSet.Tables.Add(dt);
rpt_news.DataSource = myDataSet;
rpt_news.DataBind();
}
}
et mon répétiteur design code:
<asp:Repeater ID="rpt_news" runat="server" onitemdatabound="rpt_news_ItemDataBound">
<ItemTemplate><asp:Label ID="lbl_news_date" runat="server"><%#Eval("News_date")%></asp:Label><br />
<asp:Label ID="lbl_news_text" runat="server"><%#Eval("News_text")%></asp:Label>
</ItemTemplate>
<SeparatorTemplate><br/><br/></SeparatorTemplate>
</asp:Repeater>
- Avez-vous essayé de chercher sur google en premier? Je suis sûr que vous trouverez de nombreux exemples.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement
GroupBy
News_date
, puis sélectionnez pour chaque touche deNews_date
une liste deNews_Text
. Quelque chose comme ceci:Cela, vous obtiendrez une liste de
News_Text
pour chaqueNewsDate
.