Самый простой способ найти элементы по имени - это циклически перебирать элементы во втором списке и возвращать индекс имени, соответствующего вашему запросу.
private int FindRowIndex(DataGridView view, string searchValue)
{
foreach(DataGridViewRow row in view)
{
if(row.Cells[1].Value.ToString().Equals(searchValue))
return row.Index;
}
return -1;
}
Затем вы просто используете это дляконтролировать, какой элемент выбирается во второй таблице.
private void dgItems_CellClick(object sender, DataGridViewCellEventArgs e)
{
int rowindex = dgItems.Rows[e.RowIndex].Index;
int columnindex = dgItems.Columns[e.ColumnIndex].Index;
dgItemList.Rows[rowindex].Cells[columnindex].Selected = true;
string searchName = dgItemList.Rows[rowindex].Cells.Value.ToString();
int secondRowIndex = FindRowIndex(dgItemList2, searchName);
dgItemList2.Rows[secondRowindex].Cells[columnindex].Selected = true;
}
Вы можете повторить основной цикл, чтобы найти альтернативный индекс столбца, если это необходимо.Наличие метода, к которому можно обратиться, дает вам возможность повторить процесс, если вы хотите щелкнуть по элементу в списке 2 и выбрать его из списка 1.