繁体   English   中英

如何使用C#在Winforms中编辑coulmn值时对DataGridView进行排序

[英]how to sort a DataGridView on edit the coulmn value in winforms using c#

我想对datagridview进行排序。 当用户从此事件CellValueChanged对datagrid进行了一些更改时。 在CellValueChanged完成后,应根据该列对datagridview进行排序。 我已将datagrid与列表绑定。

您可以使用DataGridViewCellEventArgs中的 ColumnIndex属性进行排序

    public Form1()
    {
        InitializeComponent();

        dataGridView1.CellValueChanged +=new DataGridViewCellEventHandler(dataGridView1_CellValueChanged);

        DataTable dt = new DataTable();
        dt.Columns.Add(new DataColumn("col1"));
        dt.Columns.Add(new DataColumn("col2"));
        dt.Columns.Add(new DataColumn("col3"));

        var r1 = dt.NewRow();
        r1["col1"] = "a1";
        r1["col2"] = "b1";
        r1["col3"] = "c1";

        var r2 = dt.NewRow();
        r2["col1"] = "a2";
        r2["col2"] = "b2";
        r2["col3"] = "c2";

        var r3 = dt.NewRow();
        r3["col1"] = "a3";
        r3["col2"] = "b3";
        r3["col3"] = "c3";

        dt.Rows.Add(r1);
        dt.Rows.Add(r2);
        dt.Rows.Add(r3);

        BindingSource bs = new BindingSource();
        bs.DataSource = dt;

        dataGridView1.DataSource = bs;

    }

    private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        var dataGrid = (DataGridView)sender;
        var dataGridColumn = dataGrid.Columns[e.ColumnIndex];
        dataGrid.Sort(dataGridColumn, ListSortDirection.Ascending);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM