У меня возникла странная проблема. У меня есть ListView, который я сортирую в порядке ASC/DESC, щелкнув заголовок listview, используя приведенный ниже метод, теперь дело в том, что отлично работает, когда я определил ObjectDataSource и приложил его к ListView.asp.net listview сортировка и ручная привязка данных
Теперь, если я просто использовать ручную вязку не используя
listview.DataSource = GetListViewContent();
listview.DataBind();
сортировка больше не работает. Я попытался перевязать в методе сортировки, но все же он не работает. Я что-то упускаю?
protected void lvFullReport_Sorting(object sender, ListViewSortEventArgs e)
{
Control me = (Control)sender,
headerRow = me.FindControl("headerRow");
//Assume that the "header row" control's "control collection" just contains "th"-like control,
//whose type is exactly "HtmlTableCell" . While we just utilize its properties in the "HtmlControl" level
//so we cast them as "HtmlControl".
//What's more , as for these "th" controls , just those who contains an "IButtonControl" (sorting triggers)
//are really needed.
foreach (System.Web.UI.HtmlControls.HtmlControl sortCell in headerRow.Controls.Cast<System.Web.UI.HtmlControls.HtmlControl>()
.Where(th => th.Controls.OfType<IButtonControl>().Any()))
{
//Get out the "only" sorting-Button Control ,
//for that in a "th" those empty space or literal text area are treated as "Literal Control" ,
//"literal" fills whole space of "th".
IButtonControl btnSortField = sortCell.Controls.OfType<IButtonControl>().Single();
if (btnSortField.CommandArgument == e.SortExpression)
sortCell.Attributes["class"] = e.SortDirection == SortDirection.Ascending ? "up" : "down";
else
if (sortCell.Attributes["class"] != null) sortCell.Attributes.Remove("class");
}
DisplayChart();
}
GetListViewContent() является источником для ручных и автоматических источников и для отображения как работа, чтобы показать данные; но сортировка работает только в авто.
Почему бы не попробовать этот http://beckelman.net/2008/10/16/client-side-aspnet-listview-sorting-via-jquery-tablesorter-plugin-demo/ – MMK
@MMLK, живой demo в указанной вами ссылке не работает. Он возвращает 500 ошибок сервера. –
Спасибо за ссылку, но код, который у меня есть, на самом деле работает. Я уверен, что мне просто не хватает чего-то очень простого, чтобы исправить ручную привязку. Я немного настаиваю на том, чтобы реализовать другое решение. –