2012-07-16 18 views
0

我有一个DataSet,它保存着我从数据库表中提取的数据。从控制器和模型的相关摘录可以看出以下尝试在DataView中对数据进行排序,但没有发生任何事

控制器:

DataSet ds = new DataSet(); 
adapter.Fill(ds,currentIndex,(int)pageSize,"LD_USER_ROLE");        
conn.Close();     
return View(ds); 

查看:

@using System.Data 
@model System.Data.DataSet 

<table> 
@foreach (DataRow row in Model.Tables[0].Rows) 
{ 
    <tr>    

     @foreach (DataColumn column in Model.Tables[0].Columns) 
     {     
        <td>@row[column]</td>     
     } 
</tr>   
} 
</table> 

我想改变代码,以便在视图中产生的表将进行排序通过USERNAME列。为此,我将数据放入数据视图并使用排序方法。然后,我将数据视图传递到视图中,而不是数据集。但是,当我这样做时,我最终会得到与以前完全相同的未分类表。我究竟做错了什么?

控制器:

DataSet ds = new DataSet(); 
adapter.Fill(ds,currentIndex,(int)pageSize,"LD_USER_ROLE"); 
DataView dv = ds.Tables[0].DefaultView; 
dv.Sort = "USERNAME ASC";        
conn.Close();     
return View(dv); 

查看:

@using System.Data 
@model System.Data.DataView 

<table> 
@foreach (DataRow row in Model.Table.Rows) 
{ 
    <tr>    

     @foreach (DataColumn column in Model.Table.Columns) 
     {     
        <td>@row[column]</td>     
     } 
</tr>   
} 
</table> 

回答

0

更好的排序你之前,你的数据填充DataSet

+0

我可以在我的SQL查询中使用的线 '按订单',但我想尝试使用DataView代替。我看不到在填充我的DataSet之前对它进行排序的一种方法,但在我看来,你需要一个DataSet来产生一个DataView – Sperick 2012-07-16 11:20:08

相关问题