![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
avlzll |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 30.11.2007 Репутация: нет Всего: нет |
Приветствую.
Имеется форма на которой расположен комбобокс и куча всяких текстбоксов. Комбобокс заполнен данными из БД так:
Соответственно при смене значения в комбобоксе данные во всех текстбоксах на форме тоже меняются:
Все это дело естественно вызывается сразу при старте программы, чтобы пользователь сразу видел заполненные поля. На этой же форме я прикрутил кнопку "Очистить все поля", которая делает всем полям .Text = string.Empty; и кнопку "Добавить новую запись".
Проблема. Чтобы добавить новую запись надо нажать на Очистку(этот самый комбобокс тоже очищается), ввести значения и нажать на "Добавить". Но когда я после очистки ввожу данные программа все еще думает (и вполне справедливо, кстати), что я изменяю информацию о выбранном в комбобоксе итеме. INSERT в саму базу то проходит без проблем, а вот в датасете получается две одинаковых записи, одна, которая была добавлена кодом из кнопки "Добавить", и вторая, которая получилась затиранием той, которая была выбрана в комбобоксе. Не имею ни малейшего представления как сбросить этот databinding со всех полей на время по-нормальному. В этом загвоздка. После поиска в сети есть предложения: а) добавить пустую строку в сам датасет руками, б) добавить пустую запись непосредственно в бд Эти варианты особо не подходят, т.к. есть еще DataGridView, в котором отображены те же самые данные, и пустая строка там будет выглядеть немного странно, плюс ко всему среди вводимых данных есть еще два внешних ключа, которые естественно not null. В общем... Если кто понял, что я имел ввиду, то может пнете в нужном направлении. А то я уже дошел до того, что придумал в качестве выхода из этой ситуации наплодить еще такиж же точно текстбоксов и на время "Добавления" делать их видимыми, а те, которые были до этого - невидимыми. ![]() |
||||||
|
|||||||
avlzll |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 30.11.2007 Репутация: нет Всего: нет |
Решил тем, что стал сбрасывать Binding со всех полей перед добавлением
и восстанавливать его после. Криво, конечно, но вроде работает как надо сейчас. Это сообщение отредактировал(а) avlzll - 27.12.2009, 13:00 |
|||
|
||||
thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
-------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |