2013-03-25 71 views
0

我想對數據進行排序,但是當我從一個頁面跳轉到另一個頁面時,名稱不會被排序。在asp.net中對數據集進行排序c#

return new dao_StudentGroupStudents().GetNewStudentbyGroup(bureauId, search, groupId, currentPage, pageSize, out totalCount); 

    /// <summary> 
    /// Get All the students from that Bureau. 
    /// </summary> 

    public DataSet GetAllStudentGroupByBureau(int? GroupId, int? BureauID) 
    { 
     DataSet ds = new dao_StudentGroup().GetDataSet(null, null, BureauID); 
     ds.Tables[0].DefaultView.Sort = "grouptitle asc"; 
     return ds; 
    } 

我輸入了這個,現在我得到無法找到列columnName。

公共數據集GetAllStudentGroupByBureau(INT的GroupId,INT BureauID?) { 的DataSet DS =新dao_StudentGroup()GetDataSet(NULL,NULL,BureauID)。

ds.Tables[0].DefaultView.Sort = "columnName ASC"; 

DataTable dt = ds.Tables[0].DefaultView.ToTable(); 

return ds; 

}

+0

有什麼問題嗎? – iGanja 2013-03-25 15:32:31

+0

那麼,它在第一頁上正確排序? – jiiri 2013-03-25 15:36:25

回答

4

試試這個:

DataSet ds = new dao_StudentGroup().GetDataSet(null, null, BureauID); 
ds.Tables[0].DefaultView.Sort = "grouptitle asc"; 
ds.Tables[0] = ds.Tables[0].DefaultView.ToTable(); 
return ds; 

UPDATE

你可以簡單地這樣做,那麼:

public DataSet GetAllStudentGroupByBureau(int ? GroupId, int ? BureauID) 
{ 
    DataSet ds = new dao_StudentGroup().GetDataSet(null, null, BureauID); 

    ds.Tables[0].DefaultView.Sort = "grouptitle asc";   
    DataTable dt = ds.Tables[0].DefaultView.ToTable(); 
    ds.Tables[0].Rows.Clear(); 
    foreach (DataRow row in dt.Rows) 
     ds.Tables[0].Rows.Add(row.ItemArray); 

    return ds; 
} 
+1

ds.Tables [0]產生錯誤。神祕或索引system.Datadatatablescollection.this [int]無法指定爲是隻讀 – user2208126 2013-03-25 20:01:32

+0

我現在收到此錯誤錯誤6'BusinessObjects.StudentGroupManager'未實現接口成員'BusinessObjects.Contracts.IStudentGroupManager.GetAllStudentGroupByBureau(int? ,int?)'。 'BusinessObjects.StudentGroupManager.GetAllStudentGroupByBureau(int?,int?)'無法實現'BusinessObjects.Contracts.IStudentGroupManager.GetAllStudentGroupByBureau(int?,int?)',因爲它沒有匹配的返回類型'System.Data.DataSet'。 C:\ workspace \ DOP.IT.Training \ Development \ MS \ BusinessObjects \ StudentGroupManager.cs 11 DataObjects – user2208126 2013-03-26 14:17:49

+0

DataTable dt中的第二個「=」給了我一個無效的表達式和ds。給我一個「;預計」 – user2208126 2013-03-28 14:02:35

0

你可以試試這個:

//convert DataSet table to DataView 
    DataView dv = ds.Tables[0].DefaultView; 

    //apply the sort 
    dv.Sort = "grouptitle ASC"; 

    //save back into our dataset 
    ds.Tables[0] = dv.ToTable(); 
+0

ds.Tables [0]產生錯誤。 propat或索引system.Datadatatablescollection.this [int]不能分配給is是隻讀 – user2208126 2013-03-25 19:53:49

2

您可以嘗試以下操作。請記住,您不能將值分配給ds.Table []。因此需要創建一個新的數據表,並將其添加到新的或現有的數據集

ds.Tables[0].DefaultView.Sort = "columnName ASC"; 

    DataTable dt = ds.Tables[0].DefaultView.ToTable(); 
+0

=正在給我一個無效的表達式項 – user2208126 2013-03-26 14:00:35

+0

現在我得到這個錯誤錯誤6'BusinessObjects.StudentGroupManager'沒有實現接口成員'BusinessObjects .Contracts.IStudentGroupManager.GetAllStudentGroupByBureau(int?,int?)'。 'BusinessObjects.StudentGroupManager.GetAllStudentGroupByBureau(int?,int?)'無法實現'BusinessObjects.Contracts.IStudentGroupManager.GetAllStudentGroupByBureau(int?,int?)',因爲它沒有匹配的返回類型'System.Data.DataSet'。 C:\工作區\ DOP.IT.Training \開發\ MS \的BusinessObjects \ StudentGroupManager。cs 11 18 BusinessObjects – user2208126 2013-03-26 14:19:58

+0

我能夠編譯上面的代碼,沒有任何錯誤。通過查看上面的代碼,似乎還有其他問題正在導致問題。 – Umesh 2013-03-27 01:26:05

0

數據視圖的dv = ds.Tables [0] .DefaultView;

dv.Sort = "grouptitle ASC"; 

ds = dv.ToTable(); 

嘗試這些

默認它有ds.table [0]無需menstion它