我正在尝试使用ASP.NET转发器控件来显示员工数据,我想显示按员工姓名排序的数据。即使我从数据库获得的数据在绑定到转发器之后的顺序正确,但它以不同的方式显示(按员工ID排序)。怎么会发生这种情况?无论如何我可以阻止这个吗?
<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#databind方法
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 :(得分:0)
ASP.NET转发器默认情况下不支持排序,你可以获取列表然后添加linq查询来命令列表
答案 1 :(得分:0)
我不得不删除&#34; bootstrap-datatable datatable&#34;从表中。即使这个类使表格可以排序,它正在覆盖原来的排序顺序我正在喂asp:Repeater