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

===============>>#1 票数:1

您可以使用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);
    }

  ask by user990897 translate from so

未解决问题?本站智能推荐:

2回复

C#/ Winforms:按不属于DataSource的列对datagridview进行排序

我有一个datagridview,它的数据源链接到数据库的数据绑定。 通过双击标题可以对所有列进行排序。 现在,我手动添加了另外一列,其中仅包含数字。 奇怪的是,我无法按此列对datagridview进行排序。 如果我双击标题,则不会发生任何事情。 我已将排序方式设置为自动。
1回复

使用WinForms在C#中从DataGridView保存数据

我有两个DataGridView,一个非常简单,另一个则具有不同的列类型。 我的想法是将数据存储到XML并在重新启动时从文件加载。 对于简单的一个来说,这没问题(dgvAccounts是DataGridView): 但是,在另一个DataGridView上,我想从DataSource
4回复

按创建的列对datagridview进行排序。 实体框架c#Winforms

我遇到了问题,我检索了我存储在数据库中的所有贷款,如下所示: db是Object上下文。 然后,我将该列表指定为DataGridView的DataSource。 有了这些信息,我添加了一些列。 例如,分期付款。 我通过计算查询的结果来获得该值。 用户可以使用某些选
2回复

使用WinForms的C#Datagridview

选择记录后,我想从DataGridView删除记录。 当我使用以下代码时,出现此异常错误, 删除按钮
1回复

使用C#winforms,我可以创建一个按钮来开始在datagridview中编辑选定单元格的按钮吗?

我有一个带有datagridview的winforms应用程序表单 我知道我可以双击一个单元格来对其进行编辑,但是我希望我的程序的用户能够有一个按钮来开始编辑datagridview中的所选单元格(而不必将鼠标移至并双击它) 我怎样才能做到这一点?
2回复

为什么我没有在C#winForms应用程序中获得datagridview可编辑列的最后一行的值?

我创建了具有datagridview控件的用户控件。 而且datagridview从文本文件获取数据以动态创建行和列。 我将该用户控件添加到面板中。 dgv的一列是可编辑的。 我想要列表中的可编辑列值。 我正在获取除最后一行值以外的所有值。 主体代码 userCon
6回复

在C#中对dataGridView列进行排序? (Windows窗体)

我有一个datagridview,我从一个sql表绑定,在那个dv我有这些属性:Id,Name和Price。 当我将名称列的SortMode设置为自动并且我点击此列的标题时,我可以根据名称的第一个字母对此dv进行排序,这样我就可以根据他们的第一个字母(Acumulator,Boat,可口可乐,
1回复

C#Winforms使用CheckBoxColumn在DataGridView中使用AutoGenerateColumns

我使用带有AutoGenerateColumns的DataGridView,但想显示一个列(整数)作为CheckBoxColum,是否有一个简单的方法,还是我必须关闭AutoGenerateColumns并手动添加所有列? 更改cellTemplate会导致错误
2回复

C#Winforms datagridview:与allowUserToAddRows组合使用的只读

我有一个Winforms datagridview,其中现有行不应是可编辑的,但新行应是可编辑的。 因此,我在网格上将ReadOnly属性设置为true,但随后我仍然看到新行,但无法对其进行编辑。 我如何结合这两个属性? 编辑:只是试图将ReadOnly设置为true,但仍然无法编辑或
2回复

在C#winforms中处理datagridview中的组合框

嗨,我有一个窗口格式的数据网格,名为“ dataGridView1”,并且在dataGridView1中有组合框; 我正在从数据库中显示组合框中的数据,并且在加载窗口时会在该组合框中加载所有数据。 我为此功能LoadModels。 我要显示一列ModelName,在valuemember中