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

本文关键字:网格 排序 加载 数据 | 更新日期: 2023-09-27 18:26:55

我有一个包含4列"Id"Name"Address"Age"的网格我获取列表中的所有Id并绑定到网格。现在,在Grid_itemDataBound事件中,根据Id,我将获得该特定行的名称、地址年龄。现在我想根据名称对网格进行排序。如何根据Item数据绑定中绑定到网格的Name进行排序请进行必要的

我的代码

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);   
}

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

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

我认为,如果一次获取所有数据,然后在每次对ItemDataBound的调用中分部分进行,会更好。通过这种方式,您将拥有一个DataTable或一个Employees列表,而不仅仅是一个ID列表。然后,您可以使用DefaultView.sort(对于DataTable)或LINQ OrderBy对这个DataTable或List进行排序。