我使用Entity Framework从base获取数据。我不使用数据绑定源。我用这个:
var caly = from m in stan.magazyn
from g in stan.gdzie
from p in stan.pracownik
where m.Gdzie_Jest == g.ID_Miasta
where m.Kto_Wprowadzil == p.ID_Pracownika
orderby m.Marka
select new { m.ID, m.Marka, m.Model, m.IMEI, m.Kolor, m.Od_Kogo, Sklep = g.Nazwa, m.Data_Wprowadzenia, m.Cena_Kupna, Dodał = p.login, m.Info };
dataGridView1.DataSource = caly.ToList();
如果我在datagridview中点击标题,我想要那个数据排序。但是不要工作。我应该做什么?我使用linq托盘,但不工作,它是一样的。
答案 0 :(得分:0)
您需要向Datagrid添加排序方法,并为排序设置表达式。然后在设置排序表达式并重新排序数据后重新绑定datagrid。您可以设置datagrid以按每列的值进行排序,并在需要再次排序时调用此方法。
执行以下操作:
为网格的SortCommand事件创建一个事件处理程序。在方法中: 1.从DataGridSortCommandEventArgs参数的SortExpression属性中获取排序键(在Sort表达式中设置的值)。 2.对数据进行排序。 3.重新绑定数据源中的数据。
示例:
private void dataGridView1_SortCommand(object source,
System.Web.UI.WebControls.dataGridView1SortCommandEventArgs e)
{
dataGridView1.Sort = e.SortExpression;
dataGridView1.DataBind();
}