Передача данных между несвязанными DataGridViews - PullRequest
0 голосов
/ 30 января 2012

У меня есть сетевое представление в форме 1, которое содержит несвязанные данные. Как я могу перенести данные из datagridview в другой datagridview2, который находится в form2? Дайте мне несколько предложений, пожалуйста!

Ответы [ 2 ]

1 голос
/ 30 января 2012

Если бы у вас был 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 было бы намного проще.

0 голосов
/ 30 января 2012

Вам не нужно передавать данные между Forms или Grids.Дело в том, что если вы понимаете, что нам нужно поделиться данными между ними, просто определите класс фасада, который содержит данные и все эти части вашего приложения (Forms, Grids, что-тоиначе) использовать данные из этого единственного точно такого же экземпляра.

То есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...