2010-06-15 16 views
0

我有以下排序的數據視圖沒有發生正常(C#3.0)

DataTable dt = new DataTable(); 
      dt.Columns.Add("col1", typeof(string)); 
      dt.Columns.Add("col2", typeof(string)); 

      dt.Rows.Add("1", "r1"); 
      dt.Rows.Add("1", "r2"); 
      dt.Rows.Add("1", "r3"); 
      dt.Rows.Add("1", "r4"); 

      dt.Rows.Add("2", "r1"); 
      dt.Rows.Add("2", "r2"); 
      dt.Rows.Add("2", "r3"); 
      dt.Rows.Add("2", "r4"); 

      dt.Rows.Add("3", "r1"); 
      dt.Rows.Add("3", "r2"); 
      dt.Rows.Add("3", "r3"); 
      dt.Rows.Add("3", "r4"); 

      dt.Rows.Add("1", "r1"); 
      dt.Rows.Add("1", "r2"); 

      DataView dv = new DataView(dt); 
      dv.Sort = "col1"; 

      DataTable dResult = dv.Table; 

我想排序的數據表與數據視圖的幫助,所以,其結果將是

1 r1 
1 r2 
... 

2 r1 
2 r2 
... 

3 r1 
3 r2 
...... 

意味着所有1的第一個,然後是2和3r的

即使我試過dt.DefaultView.Sort = "col1";但沒有運氣。

但它沒有發生。只有結果我能夠查看dv.Sort而不是數據表(dResult)

我正在使用C#3.0。

請幫

感謝

回答

1

改變 'COL1' 列的類型爲int,而不是字符串。

然後以整數形式輸入這些值。


- 編輯

是啊,那是行不通的。

dv.Table返回Source表,而不是排序的數據。

使用它可以獲取排序後的數據。

DataTable dResult = dv.ToTable(); 
+0

對不起..不起作用..也我不能chenge數據類型..這只是一個樣本的原始數據來自excel文件 – Newbie 2010-06-15 12:30:24