Я пытаюсь создать страницу блога с помощью ListView. Я создаю функцию ответа, которая добавляет другой стиль css в listview, когда сообщение содержит parentmessageid.
Это работает. Теперь мне нужно изменить порядок сообщения, чтобы ответное сообщение было помещено под родительским сообщением. Ниже вы найдете мою реализацию:
Функция для источника данных для заполнения списка:
protected void LoadMessages(int userid)
{
Bericht berichten = new Bericht();
if (berichten.LaadBerichten(userid).Tables.Count > 0)
{
ListViewMessages.DataSource = berichten.LaadBerichten(userid);
ListViewMessages.DataBind();
}
}
Функция добавления стиля css в элементы, где LabelMessageID содержит значение:
protected void ListItemMessages_Load(object sender, EventArgs e)
{
HtmlGenericControl li = (HtmlGenericControl)sender;
ListViewItem container = (ListViewItem)li.NamingContainer;
Label LabelParentMessageID = (Label)container.FindControl("LabelParentMessageID");
if (LabelParentMessageID.Text != string.Empty)
{
li.Attributes.Add("class", "reply");
}
}
ASP.NET ListView Источник:
<asp:ListView ID="ListViewMessages" runat="server">
<ItemTemplate>
<li id="ListItemMessages" runat="server" onload="ListItemMessages_Load">
<img src="<%# Eval("[imagelocation]")%>" alt="image" />
<div class="top-pointer"></div>
<div class="pointer"></div>
<!--Hidden Controls-->
<asp:Label ID="LabelMessageID" runat="server" Text='<%# Eval("[messageid]")%>' Visible="false"></asp:Label>
<asp:Label ID="LabelParentMessageID" runat="server" Text='<%# Eval("[parentmessageid]")%>' Visible="false"/>
</li>
</ItemTemplate>
</asp:ListView>
Может ли кто-нибудь помочь мне с изменением порядка предметов? Потому что я понятия не имею, как это сделать.
Решено использовать хранимую процедуру SQL.
попробуйте что-то вроде ds.Tables[0].DefaultView.Sort = "SortField DESC";