排序不起作用

时间:2012-03-20 08:55:12

标签: asp.net

当我尝试在没有ispostback属性的网格视图中排序时,然后完成sorintg,但是当我在page_load上使用ispoastback属性时它就无法正常工作。请给我一些解决方案......这是我的代码

   private string ConvertSortDirection(SortDirection sortDirection)
   {
       string newSortDirection = String.Empty;

       switch (sortDirection)
       {
           case SortDirection.Ascending:
               newSortDirection = "ASC";
               break;

           case SortDirection.Descending:
               newSortDirection = "DESC";
               break;
       }

       return newSortDirection;
   }    

   protected void grd_productMaster_Sorting(object sender, GridViewSortEventArgs e)
   {
       DataTable dataTable = grd_productMaster.DataSource as DataTable;

       if (dataTable != null)
       {
           DataView dataView = new DataView(dataTable);
          dataView = (DataView)Session["dataview"];
           if (Session["dataview"] != null)
           {
               dataView.Sort = e.SortExpression + " " + ConvertSortDirection(e.SortDirection);

              grd_productMaster.DataSource = dataView;

               grd_productMaster.DataBind();
           }
           else
               Response.Write("Dataview is null");

       }
   }

1 个答案:

答案 0 :(得分:1)

我假设您在回发中将PageView格式化为Grid_Load。这将阻止GridView触发事件。相反,您应该只对其进行DataBind if(!IsPostback)

当然,grd_productMaster.DataSource始终为null,但您首先不需要它。您只需要SortExpression相应地加载您的DataSource,例如in this way

相关问题