Текущее время: Пт, апр 19 2024, 02:12

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Столбец checkbox'ов для выделения строк в ALV
СообщениеДобавлено: Пн, авг 23 2004, 15:09 
Специалист
Специалист

Зарегистрирован:
Вт, авг 17 2004, 14:41
Сообщения: 211
Откуда: СПб
Пол: Женский
Коллеги!
Подскажите, как в ALV, реализуемом через ФМ REUSE_ALV_LIST_DISPLAY, сделать столбик checкkbox'ов для выделения строк в ALV?
Если через классы делать, то проще простого, а пользователи хотят в виде листинга, вот и приходится через ФМ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 23 2004, 15:15 
Гость
Добавь переменную (1) в свою структуру и вводи ее как чекбокс


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 23 2004, 15:17 
Специалист
Специалист

Зарегистрирован:
Вт, авг 17 2004, 14:41
Сообщения: 211
Откуда: СПб
Пол: Женский
Т.е. там такого стандартного механизма нет?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 23 2004, 16:10 
Специалист
Специалист

Зарегистрирован:
Вт, авг 17 2004, 14:41
Сообщения: 211
Откуда: СПб
Пол: Женский
Все, раскопала. :D
Это поле для ФМ в структуре LAYOUT называется box_fieldname. И если ему на вход дать имя переменной (длины 1) из внутренней таблицы, то она ее выведет как checkbox в самом начале строки и для нее без дополнительного программирования будут работать все стандартные для выделения функции ("выделить все" и т.д.) .


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: а можно примерчик?
СообщениеДобавлено: Пн, авг 30 2004, 15:05 
Гость
пробую - получается не совсем то: checkbox выводится но он почемуто disabled, а кнопки "выделить всё" выделяют почемуто строки целиком, а не эти checkbox'ы :(

пытаюсь реализовать вобщемто типовой случай:
ALV (ФМ REUSE_ALV_GRID_DISPLAY) отбирает документы и вываливает их на экран, первое поле хочу из чекбоксов, т.е. для выбора, последнее поле - пустая строка (сюда будет заноситься текст результата обработки) ... далее юзер должен выделить один или несколько док-тов, чтонить "ткнуть", после чего запустится "основной" алгоритм обработки, сделает проводки только по выделенным док-там, результаты запишет в последнее поле, после чего должен снова вывалиться этот-же ALV

подскажите, как правильно реализовать multiselect с "зацикливанием", т.е. чтобы особо забывчивые юзеры могли "хоть 100 раз" выбирать по нескольку документов в списке и поновой выполнять их обработку, а потом опять в ALV возвращалось?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: а можно примерчик?
СообщениеДобавлено: Пн, авг 30 2004, 17:05 
Специалист
Специалист

Зарегистрирован:
Вт, авг 17 2004, 14:41
Сообщения: 211
Откуда: СПб
Пол: Женский
Pavel Berezin написал:
пробую - получается не совсем то: checkbox выводится но он почемуто disabled, а кнопки "выделить всё" выделяют почемуто строки целиком, а не эти checkbox'ы :(


странно... Я, правда, не в прямую имя даю, а через переменную.
ну вот код.

DATA GS_LAYOUT TYPE SLIS_LAYOUT_ALV.

data: begin of t_positions occurs 0,
box, " столбец чекбоксов
....................
остальные поля
.....................
end of t_positions.

DATA: G_BOXNAM TYPE SLIS_FIELDNAME VALUE 'BOX'.

initialization.

perform layout_init.

FORM layout_init.

CLEAR GS_LAYOUT.
GS_LAYOUT-NO_TOTALLINE = 'X'.
GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GS_LAYOUT-BOX_FIELDNAME = G_BOXNAM.

ENDFORM. " layout_init


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 31 2004, 07:44 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 07:31
Сообщения: 234
Откуда: Нижнекамск
Вобщем то поле можно чекбоксом сделать еще вот так...

t_fieldcat-fieldname = 'MARK_SEL'.
t_fieldcat-tabname = 'HEAD'.
t_fieldcat-checkbox = 'X'.
t_fieldcat-input = 'X'.
t_fieldcat-col_pos = 1.
t_fieldcat-inttype = 'C'.
t_fieldcat-intlen = 1.
t_fieldcat-ddic_outputlen = 1.
APPEND t_fieldcat.

правда на это не будут работать кнопки массового заполнения и снятия...но это можно и переписать...я так делал когда надо было чекбоксы в заголовке и в позициях


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 01 2004, 14:08 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
А потом делаешь loop по таблице данных, where <checkbox_field> eq 'X'. В обработчике событий делаешь обработку записей, записываешь результат в последнее поле и выставляешь rs_selfield-refresh в Х. Тогда, после возврата из обработчика, в последнем поле записи и будут видны изменения.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB