Текущее время: Ср, июл 16 2025, 07:09

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: ALV FCAT
СообщениеДобавлено: Пт, мар 31 2006, 14:22 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, дек 23 2005, 13:28
Сообщения: 113
Откуда: Южно-Сахалинск
Народ помогите с ALV.
Проблема такая:
-есть некая табличка в алв гриде. есть поля с CHEKBOX
Field catalog -применяется для каждого столбца, подскажите как мне сделать так чтобы например свойство SSCAT-EDIT = 'X' применилось не для всех строк!
в некоторых строках мне нужно чтобы ввод был не доступен.
Как мне применит свойство столбца именно для одной строчки????


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 31 2006, 15:34 
Гость
http://sapboard.ru/forum/viewtopic.php ... t=checkbox


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 06 2006, 01:01 
Гость
rodendron написал(а):
http://sapboard.ru/forum/viewtopic.php?t=13037&highlight=checkbox



там немного не про то,
человеку нужно в зависимости от условий
делать редактируемой/нередактируемой одну и ту же ячейку
в разных строках

через REUSE_ALV... насколько мне известно - это нельзя,
а вот через контейнер - легко :)
делаешь структурку в исходной табличке и заполняешь ее стилями :)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 06 2006, 05:16 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Делал я такое, правда давно это было и для версии 4.0b разбираться щас чё я там написал не охота так-что держи исходник авось поможет

Code:
FORM ALV_BEFORE_LINE_OUTPUT USING LINEINFO TYPE SLIS_LINEINFO.

FIELD-SYMBOLS <FIELDCAT> TYPE STANDARD TABLE.
* BREAK-POINT.
* Извращение конечно но работает

  READ TABLE CLAIM INDEX LINEINFO-TABINDEX.
  ASSIGN ('(SAPLKKBL)Gt_Stack-It_Fieldcat[]') TO <FIELDCAT>.
  PERFORM SET_FIELD_INPUT TABLES <FIELDCAT> USING: 'MARK', 'WRBTR'.
ENDFORM.

FORM SET_FIELD_INPUT TABLES FIELDCAT USING FIELD.
DATA: NUM(2) TYPE N,
      MFCFIELD(30) TYPE C.

FIELD-SYMBOLS <FS>.

* САП овцы надо сказать тоже извращенцы порядочные - это ж надо такое
* придумать, видно кто-то был не шибко умный и не разу не линивый

  LOOP AT FIELDCAT INTO WS_FIELDCAT.
    CHECK WS_FIELDCAT-FIELDNAME = FIELD.
    NUM = SY-TABIX.
    EXIT.
  ENDLOOP.
  CHECK NOT NUM IS INITIAL.

  CASE FIELD.
  WHEN 'MARK'.
    CONCATENATE '(SAPLKKBL)Gs_Mfc' NUM '-Tech_Form' INTO MFCFIELD.
    ASSIGN (MFCFIELD) TO <FS>.
    IF CLAIM-STATS = 'A' AND EDITMODE = ' '.
      <FS> = 9.
    ELSE.
      <FS> = 1.
    ENDIF.
  WHEN 'WRBTR'.
    CONCATENATE '(SAPLKKBL)Gs_Mfc' NUM '-INPUT' INTO MFCFIELD.
    ASSIGN (MFCFIELD) TO <FS>.
    IF CLAIM-STATS = 'A'.
      <FS> = EDITMODE.
    ELSE.
      <FS> = ' '.
    ENDIF.
  ENDCASE.
ENDFORM.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 11 2006, 17:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Цитата:
а вот через контейнер - легко
делаешь структурку в исходной табличке и заполняешь ее стилями


А можно поподробнее?

Чтобы раскрасить строки и ячейки в layout есть параметры INFO_FNAME
и CTAB_FNAME. Цвет задаётся в формате 'Cxyz' (x:'1'-'9'; y,z: '0'=off '1'=on). Чтобы сделать неактивными, видимо, должно быть что-то похожее в layout или особый цвет, но я этого не нашёл.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 11 2006, 20:24 
Гость
Code:
" В описание свой таблицы данных
обязательно добавь поля COLORS и CELLTAB

DATA: BEGIN OF MYTAB  OCCURS 0.
        INCLUDE STRUCTURE T001.
DATA:   COLORS  TYPE LVC_T_SCOL.
DATA:   celltab type LVC_T_STYL.
DATA:  END OF MYTAB.

DATA: GS_LAYOUT  TYPE LVC_S_LAYO.

".... заполни свою табличку

" потом определись, что тебе надо редактировать в каждой строчке:

LOOP AT MYTAB.
   mytab-celltab-fieldname = 'BUKRS'.  " Имя поля твоей таблицы
   if sy-tabix = 1.
       mytab-celltab-style = cl_gui_alv_grid=>mc_style_enabled.
    else.
       mytab-celltab-style = cl_gui_alv_grid=>mc_style_disabled.
   endif.
   append mytab-celltab.
   modify mytab.
endloop.


    gs_layout-stylefname = 'CELLTAB'. "ОБЯЗАТЕЛЬНО!!!"


    CALL METHOD grid1->SET_TABLE_FOR_FIRST_DISPLAY
      EXPORTING
        IS_LAYOUT       = GS_LAYOUT
        i_buffer_active = ' '
        i_default       = 'X'
        i_save          = 'A'
      CHANGING
        IT_FIELDCATALOG = ....
        IT_OUTTAB       = MYTAB.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 12 2006, 10:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Можно ли сделать неактивные кнопки?
Так не работает:

Code:
mytab-celltab-style = cl_gui_alv_grid=>mc_style_button.
mytab-celltab-style2 = cl_gui_alv_grid=>mc_style_disabled.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 12 2006, 10:49 
Гость
какие кнопки? в АЛВ-списке?

а не работает этим способом что? активность/неактивность ячеек???


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 12 2006, 11:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Цитата:
а не работает этим способом что? активность/неактивность ячеек???


Хотелось объединить два аттрибута: сделать неактивную (ненажимаемую) кнопку в ячейке alv-grid.
Я предположил, что можно второй аттрибут поместить в celltab-style2. Но не проходит.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: :)
СообщениеДобавлено: Пт, май 19 2006, 18:08 
Специалист
Специалист

Зарегистрирован:
Вт, окт 25 2005, 11:10
Сообщения: 114
Откуда: Киев
wa_fieldcat-EDIT = 'X'. - типа ввод разрешен


wa_fieldcat-CHECKBOX = 'X'.
wa_fieldcat-fieldname = 'MARK'.
wa_fieldcat-reptext = 'Метка'.
gs_layout-cwidth_opt = 'X'.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-CHECKBOX = ' '.

wa_fieldcat-EDIT = ' '. - типа ввод не разрешен


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

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


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

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


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

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