01.03.2013, 15:13 | #1 |
Участник
|
Поле в гриде не из датасорса
Всем, Добрый день!
Подскажите, пожалуйста, как в гриде выводить поле, не из датасорса. причем при создании новой записи давать возможность выбирать из лукапа, а в уже существующих заполнять это поле. Сначала просто в грид добавила поле с нужным Расширенным типом данных, чтобы из лукапа можно было выбирать при создании новой записи, но проблема в том, что в уже существующих не вышло отображать данные в этом поле. После чего решила сделать Edit поле, но оно у меня не работает как надо, вот сам Edit метод: X++: edit HCSStreetName editStreetName(boolean _set, HCSCounterJournal _counterJournal, HCSStreetName _street) { HCSStreetName streetNam; ; if(_set) { marked.insert(_counterJournal.RecId, _street); return marked.toString(); } else { Grid_StreetCode.text(HCSBuildTable::find(HCSCounterJournal.BuildCode).StreetCode); streetNam = HCSStreetTable::find(Grid_StreetCode.valueStr()).Name; _street = streetNam; return _street; } } Заранее благодарю! |
|
01.03.2013, 15:50 | #2 |
северный Будда
|
Не совсем понятно, почему вы не хотите добавить это поле в датасоурс. это же намного проще в чём причина?
__________________
С уважением, Вячеслав |
|
01.03.2013, 15:53 | #4 |
Участник
|
Дело в том, что этого поля нет в таблице, оно мне нужно только на этой форме.
|
|
01.03.2013, 15:55 | #5 |
Участник
|
|
|
01.03.2013, 16:01 | #6 |
NavAx
|
Не понятно, что в итоге нужно.
Если смотреть, как сейчас сделано, то нужно исправить: X++: edit HCSStreetName editStreetName(boolean _set, HCSCounterJournal _counterJournal, HCSStreetName _street) { ; if(_set) { marked.insert(_counterJournal.RecId, _street); } else if (!marked.exist(_counterJournal.RecId)) { marked.insert(_counterJournal.RecId, ''); } marked.lookup(_counterJournal.RecId); } запись можно добавить или в метод write() датасорса, или тут X++: if(_set)
{
marked.insert(_counterJournal.RecId, _street);
} Последний раз редактировалось raz; 01.03.2013 в 16:05. Причина: исправил |
|
01.03.2013, 16:05 | #7 |
Участник
|
Цитата:
Сообщение от raz
Не понятно, что в итоге нужно.
Если смотреть, как сейчас сделано, то нужно исправить: X++: edit HCSStreetName editStreetName(boolean _set, HCSCounterJournal _counterJournal, HCSStreetName _street) { ; if(_set) { marked.insert(_counterJournal.RecId, _street); } else if (!marked.exist(_counterJournal.RecId)) { marked.insert(_counterJournal.RecId, ''); } marked.lookup(_counterJournal.RecId); } Значение 5637145083 не найдено в карте соответствия. |
|
01.03.2013, 16:09 | #8 |
NavAx
|
Этот кусок нужно.
X++: else if (!marked.exist(_counterJournal.RecId)) { marked.insert(_counterJournal.RecId, ''); } |
|
01.03.2013, 16:16 | #9 |
Участник
|
|
|
01.03.2013, 16:24 | #10 |
Участник
|
Ооооо, получилось выводить наименование улицы для существующих, только выводит неправильно. Немного не соответствуют наименования. Но направление мыслей понятно. Спасибо огромное за помощь!!!
|
|
|
|