Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GridLookUpEdit и ProcessNewValue, Добавление нового значения 
:(
    Опции темы
vlsaf
Дата 11.3.2010, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 9.5.2007

Репутация: нет
Всего: 1



Всем привет. 

Речь идет о контроле gridLookUpEdit от DevExpress. А именно о событии ProcessNewValue контрола

Есть общий справочник районов (Teil) 
teilID - идентификатор района  
teilName - имя района 
------------------------------- 
Есть справочник городов Ort 
ortID - идентификатор города 
ortName - название города 
------------------------------- 
Есть справочник районов города. OrtTeil 
ortTeilID - как обычно ID  
ortID 
teilID 
------------------------------- 
И наконец есть справочние адресов. (Adr) 
adrID 
ortTeilID 
и т.д. 
------------------------------- 
 
Я работаю со справочником адресов. 
В нем есть поле ortTeilID - к какому району города относится данный адрес. 
 
Ситуация 1 
В gridLookUpEdit я ручками вбиваю "Центральный район". 
Предположим, что цетрального района у меня нет ни в справочнике районов города,  
ни в общем справочнике районов. 
Я добавляю  "Центральный район" в общий справочник районов. Затем в справочник районов города. 
И вношу нужную запись в справочник адресов. Вот так 
 
Код

                #region добавляем новый район в справочник Teil 
                DataRow teilRow = adressenDataSet.Teil.NewRow(); 
                Guid teilID = Guid.NewGuid(); 
                teilRow["teilID"] = teilID; 
                teilRow["teilName"] = "Центральный район"; 
                adressenDataSet.Teil.Rows.Add(teilRow); 
                teilBindingSource.EndEdit(); 
                #endregion 
                #region добавляем запись в локальный справочник 
                DataRow ortTeilRow = adressenDataSet.OrtTeil.NewRow(); 
                Guid ortTeilID = Guid.NewGuid(); 
                ortTeilRow["ortTeilID"] = ortTeilID; 
                ortTeilRow["ortID"] = ortID; 
                ortTeilRow["teilID"] = teilID; 
                ortTeilRow["teilName"] = teilName; 
                adressenDataSet.OrtTeil.Rows.Add(ortTeilRow); 
                ortTeilBindingSource.EndEdit(); 
                #endregion 
                e.Handled = true; 

 
Все идет на ура.  
 
Ситуация 2 
Если в общем справочнике районов запись есть. Я беру только ее teilID и вношу нужную запьсь в справочник районов города. Вот так 
 
Код

                        #region добавляем запись в локальный справочник 
                        DataRow ortTeilRow = adressenDataSet.OrtTeil.NewRow(); 
                        Guid ortTeilID = Guid.NewGuid(); 
                        ortTeilRow["ortTeilID"] = ortTeilID; 
                        ortTeilRow["ortID"] = ortID; 
                        ortTeilRow["teilID"] = id; // значение взято из справочника Teil   
                        ortTeilRow["teilName"] = teilName; 
                        adressenDataSet.OrtTeil.Rows.Add(ortTeilRow); 
                        ortTeilBindingSource.EndEdit(); 
                        #endregion                        
                        e.Handled = true;  

 
Строка в gridLookUpEdit добавляется, но сам грид имеет значение Null. Т.е. значение ячейки не присваивается. Я должен еще раз щелкать по gridLookUpEdit и уже потом выбирать нужный район. 
Не понимаю в чем дело. В первом варианте, более сложном все работает, а во втором нет.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0555 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.