1 c#
当我试试这个
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";
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误msg invalidCastException未处理userCode无法将类型'System.Web.UI.WebControls.GridView'的对象强制转换为类型'System.Web.UI.Web.Contro.DataGrid'.
问题正是异常所说的
DataGrid myGrid = (DataGrid) sender;
Run Code Online (Sandbox Code Playgroud)
在sender这种情况下是一个类型的GridView,但你试图将其转换为DataGrid.这是非法的,因此CLR抛出异常.您需要考虑sender该类型GridView并相应地处理它.
GridView myGrid = (GridView) sender;
Run Code Online (Sandbox Code Playgroud)