Как сравнить два datagridViewRows и передать его в 3-й datagridView c # - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть 3 datagridViews.2 представления данных имеют Столбец ["ID"] и ["Имя"]

`datagridView1

| ID | Name |

  1    Juan
  2   

datagridView2

| ID | Name |

  1    Juan`

Теперь мой вопрос заключается в том, существуют ли строки datagridView1 в datagridView2datagridView2 передаст строки в datagridView3, и если строки datagridView1 не существуют в datagridView2, datagridView1 превратит строки в datagridView3

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

я бы пошел с чем-то вроде этого:

// All the grids have the same structure
// dataGridView1 columns: ID1, Name1
// dataGridView2 columns: ID2, Name2
// dataGridView3 columns: ID3, Name3
// Get the unique identificators from dataGridView2
var grid2IDs = (from r in dataGridView2.Rows.Cast<DataGridViewRow>() where r.Cells["ID2"].Value != null select (int)r.Cells["ID2"].Value).Distinct();
// loop trough rows from dataGridView1 where ID is within grid2 unique IDs
foreach (DataGridViewRow row in from r in dataGridView1.Rows.Cast<DataGridViewRow>() where r.Cells["ID1"].Value != null && grid2IDs.Contains((int)r.Cells["ID1"].Value) select r)
{
    // Insert the row into dataGirdView3
    var newRow = dataGridView3.Rows[dataGridView3.Rows.Add()];
    for (var i = 0; i < row.Cells.Count; i++)
        newRow.Cells[i].Value = row.Cells[i].Value;
};
0 голосов
/ 18 сентября 2018

Вы можете либо перейти по столбцу ID (datagridView1.Rows [row] .Cells ["ID"]. Value), либо вы также можете использовать, например, анализатор json (например, Newtonsoft) и сравнить две строки json для полногопроверка также с полем «Имя».

С уважением, UnCoded

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