当我尝试这个
时protected void Grid_ViewSorting(Object sender, GridViewSortEventArgs e)
{
DataGrid myGrid = (DataGrid) sender;
DataTable datatable =(DataTable) myGrid.DataSource;
DataView dataView = datatable.DefaultView;
if(e.SortDirection.ToString() == "ASC")
{
dataView.Sort = e.SortExpression + "DESC";
} else
{
dataView.Sort = e.SortExpression + "ASC";
}
}
我收到错误msg invalidCastException未通过userCode处理 无法将类型为“System.Web.UI.WebControls.GridView”的Object OF类型转换为“System.Web.UI.Web.Contro.DataGrid”。
答案 0 :(得分:6)
问题正是异常所说的
DataGrid myGrid = (DataGrid) sender;
在这种情况下,sender
的类型为GridView
,但您尝试将其转换为DataGrid
。这是非法的,因此CLR抛出异常。您需要将sender
属于GridView
类型并对其进行相应处理。
GridView myGrid = (GridView) sender;