在未绑定的DataGridViews之间传输数据

本文关键字:之间 传输 数据 DataGridViews 绑定 | 更新日期: 2023-09-27 18:21:48

我有一个表单1中的数据网格视图,其中包含未绑定的数据。如何从位于表单2中的另一个数据网格视图2中的数据网格视图传输数据?请给我一些建议!

在未绑定的DataGridViews之间传输数据

如果将DataGridView绑定到表,则只需在Form2中设置对该表的引用。在您的情况下,您可能希望在第二种形式中引用实际的DataGridView

从维护的角度来看,这不是最好的编程风格——最好使用数据源。

这里有一个简单的想法,可以用第一个DataGridView中的数据显示第二个DataGridView。它并不完美,但它应该向你展示这个想法。

public Form2(DataGridView dgvFromFom1) {
  InitializeComponent();
  foreach (DataGridViewColumn dc in dgvFromForm1.Columns) {
    dataGridView1.Columns.Add(dc.Name, dc.HeaderText);
  }
  foreach (DataGridViewRow dr in dgvFromForm1.Rows) {
    Object[] newRow = new object[dr.Cells.Count];
    for (int i = 0; i < newRow.Length; i++) {
      newRow[i] = dr.Cells[i].Value;
    }
    dataGridView1.Rows.Add(newRow);
  }      
}

不过,同样,使用DataSource会容易得多。

您不需要在FormsGrids之间传输数据。问题是,如果您认为我们需要在它们之间共享数据,只需定义一个包含数据的facade类,并且应用程序的所有部分(FormsGrids等)都会使用来自同一实例的数据。

也就是说