我如何使用ObjectDataSource绑定的数据在gridView中进行排序?
答案 0 :(得分:1)
Here是之前已回答的问题。
对于实际排序,您可以调用
collectionOfObjects.OrderBy(x => x.PropertyToSortOn);
您可以使用开关根据通过args传递给方法的内容来更改要排序的内容。所以看起来会更像这样
switch(propertyName)
{
case "property1":
collectionOfObjects.OrderBy(x => x.PropertyToSortOn);
break;
case "property2":
collectionOfObjects.OrderBy(x => x.OtherPropertyToSortOn);
break;
...
}
希望这有帮助! :)
答案 1 :(得分:0)
如果您更容易,为什么不尝试从商店程序或查询中对其进行排序。 也许不是最佳解决方案,但它可能更容易。
修改的
如果您想使用gridview控件进行编程,请查看以下代码:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
protected void gridView_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable dtSortTable = GridView1.DataSource as DataTable;
if (dtSortTable != null)
{
DataView dvSortedView = new DataView(dtSortTable);
dvSortedView.Sort = e.SortExpression + " " + getSortDirectionString(e.SortDirection);
GridView1.DataSource = dvSortedView;
GridView1.DataBind();
}
}
private string getSortDirectionString(SortDirection sortDireciton)
{
string newSortDirection = String.Empty;
if (sortDireciton == SortDirection.Ascending)
{
newSortDirection = "ASC";
}
else
{
newSortDirection = "DESC";
}
return newSortDirection;
}