2014-09-25 125 views
0

您好我正在处理ASP.NET MVC项目。我正在使用datatable来显示客户详细信息。在控制器中,我打电话给一个存储过程,该存储过程以asc顺序接收客户详细信息如:数据表不显示结果以相同的顺序从SQL查询结果

SELECT id, firstname, lastname, colnum 
    FROM TABLE1 
    ORDER BY colnum ASC 

colnum的结果为1,2,3,4,5。所以我按1,2,3,4,5的顺序得到结果。所以当我调试时,我得到如下结果:

<thead> 
    <tr> 
    <th> 
     id 
     </th> 
     <th> 
     firstname 
     </th> 
     <th> 
     lastname 
     </th> 

     </tr> 
     </thead> 
     <tr> 
     <td> csv1 </td> 
     <td> fname1 </td> 
     <td> lname1 </td> 
     </tr> 
     <tr> 
     <td> csv2 </td> 
     <td> fname2 </td> 
     <td> lname2 </td> 
     </tr> 
     <tr> 
     <td> csv3 </td> 
     <td> fname3 </td> 
     <td> lname3 </td> 
     </tr> 
     <td> csv22 </td> 
     <td> fname4 </td> 
     <td> lname4 </td> 
     </tr> 

这是我调试时得到的结果。我在Viewdata中得到了这个结果。

但是,当我把这个Viewdata绑定到数据表时,我得到了基于id的字母顺序的结果。

这是这样的:

<tr> 
<td> csv1 </td> 
<td> fname1 </td> 
<td> lname1 </td> 
</tr> 
<tr> 
<td> csv2 </td> 
<td> fname2 </td> 
<td> lname2 </td> 
</tr> 
<tr> 
<td> csv22 </td> 
<td> fname4 </td> 
<td> lname4 </td> 
</tr> 
<td> csv3 </td> 
<td> fname3 </td> 
<td> lname3 </td> 
</tr> 

正如你可以看到,在数据表中我得到这样csv1,CSV2,csv3,csv33,csv34,csv4,csv5结果。但我需要显示结果像csv1,csv2,csv3,csv4,csv5,csv33,csv44。

我假设它是基于字母顺序取得结果的数据表功能。我怎样才能改变这个来达到我想要的结果?

+0

[有没有办法禁用jQuery DataTables的初始排序?](http://stackoverflow.com/questions/4964388/is-there-a-way-to-disable-initial-sorting-for -jquery-datatables) – 2014-09-25 11:21:00

+0

@ DanielJ.G。我认为这不是重复的问题。与您提到的帖子相比,我的要求不同。 – Ajay 2014-09-25 15:24:46

+0

我可能会错过一些东西,但是您已经按照您希望从数据库获得的结果获得结果,该结果基于'colnum'列。那么,你不需要避免数据表再次对结果进行排序吗?你尝试过使用''aaSorting':[]'? – 2014-09-25 15:28:06

回答

0

在网上搜索后,我找到了答案。我发布这个想法可能对他人有帮助。

正如我在帖子中提到的,我的问题是,colnum结果。虽然从存储过程中选择,我选择的结果基于colnum,但显示结果到数据表时,我没有将colnum结果绑定到数据表。

所以用于基于ID栏在那里我有类似的结果,csv1,CSV2,csv23,csv24,csv4等

因此,对于这个解决方案,我使用的绑定colnum结果进行排序datatable,但使其隐藏。虽然在数据表中排序,请根据colnum排序结果为id列。

这是我使用的代码:

$('#results').dataTable({ 
     "aoColumnDefs": [ 


      { visible: false, targets: [0] }, 
      { targets: [ 1 ], orderData: [ 0 ] } 

     ] 
    }); 

所以在这里,第1列是colnum其是不可见的,因为这是ID我使用基于第1列排序列2,即colnum

希望它对其他人有用。