Сетка данных сортируется при редактировании ячейки со списком источников привязки <Student> - PullRequest
1 голос
/ 13 декабря 2011

когда пользователь редактирует значение ячейки в событии dataGridViewStudents_CellValueChanged. Значения сетки данных сортируются соответственно.

 private void form_Load(object sender, EventArgs e)  
        {
            List<student> lststudent=new List<student>(); 
             lststudent.add("1","Abc", 26);
             lststudent.add("1","xyz", 31);
             lststudent.add("1","pqr", 53);
             lststudent.add("1", "def", 23);
            DataGridView.DataSource= lststudent; 
        }
        private void datagridStudent_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewCell cell = null;
            if (e.RowIndex > -1 && e.ColumnIndex > -1)
            {
                cell = ((DataGridView)sender).Rows[e.RowIndex].Cells[e.ColumnIndex];

                ((DataGridView)sender).Rows[e.RowIndex].Cells[2].Value = 36; ((DataGridView)sender).Sort(((DataGridView)sender).Columns["marks"], ListSortDirection.Ascending);
            }
        }

В этом коде пользователь редактирует ячейку в сетке данных. он не сортирует сетку данных в соответствии с этим столбцом. DataGrid связывается со списком. Итак, я хочу отсортировать сетку данных, когда пользователь меняет значение ячейки.

1 Ответ

1 голос
/ 13 декабря 2011
    private void datagridStudent_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        var t = ((List<Student>)DataGridView.DataSource).OrderBy(x=>x.Marks).ToList();
        //or var t =((List<Student>)DataGridView.DataSource).OrderByDescending(x=>x.Marks).ToList();
        DataGridView.DataSource = t;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...