C#中Datagridview的行更改事件

时间:2016-04-12 07:26:16

标签: c# .net

我正在研究c#中的大学项目。 其中我有一个datagridview连接到数据库,并在表单加载时从数据库中获取所有数据。 现在我的要求是我想更新我的sql表中的当前行数据(选择的行)如果我在该行的任何单元格中进行任何更改,并且当我单击该行的新行时应该生成该事件(在sql中更新数据) datagridview的。

请帮我写这样的代码。

提前感谢:)

2 个答案:

答案 0 :(得分:0)

我建议构建一个分层应用程序。

  • 表示层 - 处理表单,数据网格,事件
  • 数据访问层 - 访问数据库并在收到命令后添加/删除/更新条目。
然而,这是一大堆代码。如果您需要特定的帮助,我需要一些代码。否则this文章非常有助于理解数据绑定的基础知识,监听集合中的更改等。

如果您需要更简单的内容,可以为表添加RowChanged事件处理程序:

  private static void Row_Changed(object sender, DataRowChangeEventArgs e)
    {
        // Execute some stored procedure for row updates here
    }
编辑:丹尼斯实际上给了你一个极好的答案。如果您不了解基础知识,请参阅我已链接的文章 - 它涵盖了他的答案中提到的主题,并解释了您使用所用内容的原因。

答案 1 :(得分:0)

你必须做至少三件事:

以下是样本模型:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        dataGridView1.DataSource = new BindingList<Person>
        {
            new Person { Name = "John", Age = 25 },
            new Person { Name = "Alice", Age = 32 },
            new Person { Name = "Peter", Age = 30 },
        };
    }
}

和示例表单代码:

t = Teacher.objects.first()
Student(user_ptr=t.user_ptr).save()