2016-06-14 98 views
2

我想使用ASP.NET中繼器控件來顯示員工數據,我想顯示這個數據按員工姓名排序。即使從數據庫獲得的數據在綁定到中繼器後按正確的順序顯示,它也會以不同的方式顯示(按員工ID排序)。這怎麼會發生?無論如何,我可以阻止這個嗎?ASP中繼器沒有以正確的順序顯示數據

<asp:Repeater ID="rptEmplist"> 
<HeaderTemplate> 
    <table class = "bootstrap-datatable datatable"> 
    <thead> 
     <tr> 
     <th>Employee No</th> 
     <th>Employee Name</th> 
     <th>Department Name</th> 
     </tr> 
    </thead> 
    <tbody> 
</HeaderTemplate> 
<ItemTemplate> 
    <tr> 
    <td><%# Eval("Empnum") %></td> 
    <td><%# Eval("Name") %></td> 
    <td><%# Eval("DptName") %></td> 
    </tr> 
</ItemTemplate> 
<FooterTempalate> 
    </tbody> 
    </table> 
</FooterTempalate> 
</asp:Repeater> 

C#數據綁定方法

private void BindDataToGrid() 
{ 
    DataTable empdt = BSL.GetEmployeeList(); // Just a another layer to connect with DB. 
    rptEmplist.DataSource = empdt;// Data seems to be in the correct order in empdt 
    rptEmplist.DataBind(); 
} 

數據檢索C#:

public static DataTabe GetEmployeeList() 
{ 
    using(SqlCommand cmd = new SqlCommand("Get_EmpList")) 
    { 
     cmd.CommandType = CommandType.StoredProcedure; 
     return DSL.DBFactory.DBOperations.GetDataTable(cmd); 
    } 
} 

數據庫存儲過程:在默認情況下

Create Proc Get_EmpList 
AS 
BEGIN 
    SELECT * 
    FROM Employee 
    ORDER BY Name 
END 
+0

顯示查詢或裝載員工的SP。 – Mairaj

+0

如果中繼器沒有以「正確的順序」顯示數據,那麼您沒有按照正確的順序排序數據。 –

+0

你是否檢查過'empdt'中的數據是否正常? –

回答

0

我必須從表中刪除「bootstrap-datatable datatable」。儘管該類使得表排序,它是覆蓋原來的排序順序我餵養的asp:直放站

More about datatable

0

ASP.NET中繼器不支持排序,你可以獲取列表和th en添加linq查詢以訂購該列表

+0

我不認爲你已經理解了這個問題 –