在加载网格中的所有数据后对网格进行排序

时间:2014-10-17 09:56:14

标签: c# asp.net

我的网格有4列'Id''名称''地址''年龄' 我获取列表中的所有Id并绑定到网格。现在在Grid_itemDataBound事件中,取决于我获取该特定行的名称,地址年龄。 现在我想根据名称对网格进行排序。 我如何排序取决于在项目数据绑定中绑定到网格的名称 请做有必要

我的代码

grdEmployee.DataSource = lstEmployee.OrderBy(x => x.Id).ToList();

protected void grdEmployee_ItemDataBound(object sender, EventArgs e)
{
    Label lblname = (Label)e.Row.FindControl("lblName");
    Label lblAge = (Label)e.Row.FindControl("lblAge");
    Label lblId = (Label)e.Row.FindControl("lblId");

    lblName.Text = GetName(lblId.Text);
    lblAge.Text = GetAge(lblId.Text);   
}

注意:这是我在此编辑器中手动编写的示例代码。请忽略代码中的错误,请理解我的方案。

1 个答案:

答案 0 :(得分:0)

我认为,如果你一次获得所有数据会更好,然后在每次调用ItemDataBound时分成几部分。这样,您将拥有一个DataTable或一个Employees列表,而不仅仅是一个ID列表。然后,您可以按照自己喜欢的方式对此DataTable或List进行排序 - 使用DefaultView.Sort(对于DataTable)或LINQ OrderBy。