Ohk огорченное для вышеуказанного ответа, я не увидел соединение, котор вы дали.
Укротитель dataGridView1_CellValueNeeded делает его все. Эта функция ответственн для заселять данные в списке клиента в datagrid. Эта функция вызвана когда будет любое изменение на решетке даже если она redrawn, после того как она изменена размеры или что-нибыдь.
dataGridView1_CellValuePushed вызвано когда вы вводите любое значение в решетку. Оно добавляет или уточняет предмет клиента и когда вы вписывали значения в обе колонки, dataGridView1_RowValidated вызвано и если вписанные данные действительны, то они добавляют предмет клиента к arraylist клиента.
Таким образом делающ его все в sync.
Thx!
Обмены….