2010-01-29 2 views
2

Когда я пытаюсь сортировать таблицу вручную, я получаю эту ошибку: DataTable должен быть установлен до использования DataView. Код:DataTable должен быть установлен до использования DataView

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) 
    { 

     DataTable sourceTable = GridView1.DataSource as DataTable; 
     DataView view = new DataView(sourceTable); 
     string[] sortData = Session["sortExpression"]!= null ? Session["sortExpression"].ToString().Trim().Split(' ') : null; 
     if (sortData != null && e.SortExpression == sortData[0]) 
     { 
      if (sortData[1] == "ASC") 
      { 
       view.Sort = e.SortExpression + " " + "DESC"; 
       Session["sortExpression"] = e.SortExpression + " " + "DESC"; 
      } 
      else 
      { 
       view.Sort = e.SortExpression + " " + "ASC"; 
       Session["sortExpression"] = e.SortExpression + " " + "ASC"; 
      } 
     } 
     else 
     { 
      view.Sort = e.SortExpression + " " + "ASC"; 
      Session["sortExpression"] = e.SortExpression + " " + "ASC"; 
     } 

    } 

Где я ошибаюсь?

ответ

0

Возможно, ваши данные также должны быть частью набора данных.

Подобно

DataSet ds = new DataSet() 
DataTable sourceTable = GridView1.DataSource as DataTable; 
ds.Tables.Add(sourceTable) 
DataView view = new DataView(sourceTable); 
string[] sortData = Session["sortExpression"]!= null ? Session["sortExpression"].ToString().Trim().Split(' ') : null; 

Это только из странного прошлого опыта

Смежные вопросы