Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => Тема начата: Igor Garanichev от Март 03, 2010, 02:40:55 pm
-
Доброе время суток.
Уважаемые гуру, столкнулся с одной проблемой в ALV.
Заказана была программа. Редактируемый ALV. Но вот ячейки хотят чтобы реагировали как в Table Control. Когда выделяешь ячейку ALV, она сначала подсвечивается, а курсор появляется там после начала ввода данных. В Table Control курсор появляется в ячейке сразу после выделения кликания курсором в ячейку. Это можно увидеть сравнив транзакции me51n и me21n. Может есть какое-то свойство то ли в филдкате или layout?
Уж очень не хочется переписывать программу под table control.
-
Доброе время суток.
Уважаемые гуру, столкнулся с одной проблемой в ALV.
Заказана была программа. Редактируемый ALV. Но вот ячейки хотят чтобы реагировали как в Table Control. Когда выделяешь ячейку ALV, она сначала подсвечивается, а курсор появляется там после начала ввода данных. В Table Control курсор появляется в ячейке сразу после выделения кликания курсором в ячейку. Это можно увидеть сравнив транзакции me51n и me21n. Может есть какое-то свойство то ли в филдкате или layout?
Уж очень не хочется переписывать программу под table control.
Не гуру, поэтому могу ошибаться.
Предполагаю, что подобных свойств ни в каталоге полей ни в layout нет.
-
Предположение: попробовать копнуть в сторону реакции на событие hotspot_click класса cl_gui_alv_grid и позиционировать курсор уже вовнутрь ячейки (поискать соответствующий метод класса), нет системы под рукой(((.
-
Знаю как позиционировать на ячейке, а как во внутрь - не заметил такого метода.
-
Знаю как позиционировать на ячейке, а как во внутрь - не заметил такого метода.
Начальный вопрос же в том, осуществимо ли это?.. Не замечал в редактируемых гридах такого... К тому же стандарт как раз достаточно активно использует Table Control. Подождем, что скажут более сведующие...
-
Ну я тоже такого поведения в ALV-гридах не замечал, поэтому думаю что в текущей реализации компонента такое не возможно реализовать. Как вариант попробуй объяснить пользователям, что переписал все через Table Control они потеряют дианмику таблицы, т.е. все эти сортировки/фильтры/экспорты надо будет, самому реализовывать а это время и т.д.
-
IMHO, если нужен ввод табличных данных все-таки лучше использовать Table Control.
+Более простая обработка ошибок (построчная PAI-логика)
+Возможность использования Batch-Input
-Дополнительная обработка при навигации и добавлении/удалении данных
Минус отпадает после 2-3 реализаций Table Contol ;)
Использование ALV для редактирования больше подходит для операций по изменению существующих данных(например поменять фин.позицию или тексты позиции для бух.документов)
т.е. все эти сортировки/фильтры/экспорты надо будет, самому реализовывать
При вводе данных (добавление/удаление строк) такие возможности обычно исключают :)