我有一個GridView和它的數據源來自的LINQ to SQL語句:GridView的排序在ASP.NET
var query = from user in dataContext.tbl_files
select new { user.File_Name, user.Upload_Time, user.Uploaded_By };
GridView1.DataSource = query.ToList();
GridView1.DataBind();
我想實現GridView中的排序功能:
public void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string previousSortExpression = (string)ViewState["SortDirection"];
string sortExpression = e.SortExpression;
SortDirection sortDirection = e.SortDirection;
if (sortExpression.Equals(previousSortExpression))
{
sortDirection = SortDirection.Descending;
ViewState["SortDirection"] = string.Empty;
}
else
ViewState["SortDirection"] = sortExpression;
string direction = sortDirection == SortDirection.Ascending ? "ASC" : "DESC";
e.SortExpression = string.Format("it.{0} {1}", e.SortExpression, direction);
DataTable dataTable = (DataTable)GridView1.DataSource; // here returns null!
if (dataTable != null)
{
DataView dataView = new DataView(dataTable);
dataView.Sort = e.SortExpression ;
GridView1.DataSource = dataView;
GridView1.DataBind();
}
}
但" DataTable dataTable = (DataTable)GridView1.DataSource; "
行返回null,但是數據源的計數是4.我得到這個錯誤:
{「無法強制轉換'System.Colle ctions.Generic.List
1[<>f__AnonymousType0
3 [System.String,System.Nullable`1 [System.DateTime的],System.String]]」爲類型 'System.Data.DataTable'。「}
我怎樣才能排序我的GridView並糾正我的錯誤?謝謝..
你爲什麼不使用LINQ2SQL數據源,thisway您整理作品開箱? – Pleun 2012-01-03 21:42:51