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 Unable to cast Object OF type 'System.Web.UI.WebControls.GridView' to type '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 に答える