Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // размерность таблиц
- private const int GRID_COLUMN_COUNT = 16; // количество столбцов
- private const int GRID_ROW_COUNT = 8; // количество строк
- // при выделении ячеек таблицы1 необходимо очистить выделение ячеек таблицы2 и скопировать в таблицу2 выделение ячеек таблицы1;
- // переменная хранит ссылку на таблицу 2, чтобы при очистке выделения делать возврат из функции grid_SelectionChanged,
- // иначе таблица2 попытается очистить выделение таблицы1 и произойдет зацикливание
- private DataGridView _gridForClearSelection = null;
- // обработчик на изменение выделения талицы,
- // реализует одновременное изменение выделения в обеих таблицах
- void grid_SelectionChanged(object sender, EventArgs e)
- {
- // если происходит очистка выделения таблицы, сразу выходим
- if (_gridForClearSelection != null && sender.Equals(_gridForClearSelection))
- return;
- DataGridView grid1 = (DataGridView)sender;
- DataGridView grid2 = grid1.Equals(dataGridView_TmciIn) ? dataGridView_TmciOut : dataGridView_TmciIn;
- _gridForClearSelection = grid2; // запоминаем таблицу, в которой очищаем выделение
- grid2.ClearSelection(); // очищаем выделение в таблице2
- _gridForClearSelection = null; // забываем таблицу, в которой очищали выделение
- // копируем выделение из таблицы1 в таблицу2
- for (int i = 0; i < grid1.SelectedCells.Count; i++)
- grid2[grid1.SelectedCells[i].ColumnIndex, grid1.SelectedCells[i].RowIndex].Selected = true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement