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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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