![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
AndrewMonk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 20.7.2007 Репутация: нет Всего: нет |
Язык C#. VS 2005.
Не получается программно изменить номер текущей строки в компоненте dataGridView. Подробнее - Компоненты comboBox и dataGridView загружены связанными таблицами. Нужно всего лишь при изменении SelectedIndex компонета comboBox сделать активной соответсвенную строку в dataGridView. ![]() |
|||
|
||||
babutta |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 18.12.2006 Репутация: нет Всего: нет |
привет.
не совсем понял, что надо... если у тебя в dataGridView стоит MultiSelect= false, то при программном выделении ячейки, строка, которой эта ячейка принадлежит становится текущей, если MultiSelect = true, то просто выделяется и указатель текущей строки не меняется... короче вот я набрасал у себя код, просто комбобокс с тремя итемами и сетка с MultiSelect= false
при изменении индекса комбобокса, строка с таким же индексом в сетке становится текущей... может поможет =) |
|||
|
||||
Idsa |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
babutta, AndrewMonk просил подсказать, как
, а ты написал создание DataGridView и обработчик события. AndrewMonk, по существу:
Сначала мы выставляем полнострочный режим выделения. Затем задаем CurrentCell. Конечно, в данном случае удобнее было бы задать CurrentRow... но это свойство доступно только для чтения и для получения своего значения использует CurrentCell. Проверка в if позволяет избежать NullReferenceException в случае отсутствия стобцов. Аналогично стоит проверять и строки. |
||||
|
|||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Если таблицы связанные (т.е. есть в обеих есть ключевое поле, настроен DataRelation и constraint) и контролы настроены на две разные таблицы, то при перемещении по текущему Row-у одной таблицы, текущий Row другой таблицы также будет изменяться. "Текущим" DataRow управляет BindingManager, это происходит невидимо для разработчика. Визуально это будет выглядеть как изменение выбранной строки в комбобоксе при перемещении по строкам грида, и наоборот - изменение выбранной строки в гриде при выборе строки комбобокса. Это я к тому, что никакого кода выбирающего строку программно, не нужно.
-------------------- ![]() |
|||
|
||||
Idsa |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Это если настроить DataRelation. Если человек плохо разбирается в ADO.NET, думаю, ему для начала вполне подойдет вариант программной установки выделения в событии SelectedIndexChanged комбобокса. Я попытался это воспроизвести. Вот, что получилось:
Однако, описанного тобою эффекта я не заметил :(. |
||||
|
|||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
То что в первом фреймворке делалось легко и просто, во втором уже требует танец с бубнами в виде BindingSource:
Как бы то ни было, тему можно считать закрытой. -------------------- ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |