1

当我尝试这个

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";
       }
 }

我收到错误消息 invalidCastException Was Unhandled By userCode 无法将类型为“System.Web.UI.WebControls.GridView”的对象转换为类型“System.Web.UI.Web.Contro.DataGrid”。

4

1 回答 1

6

问题正是异常所说的

DataGrid myGrid = (DataGrid) sender;

sender这种情况下是类型GridView,但您试图将其转换为DataGrid. 这是非法的,因此 CLR 会引发异常。您需要考虑sender属于该类型GridView并相应地处理它。

GridView myGrid = (GridView) sender;
于 2012-04-10T17:24:32.033 回答