Текущее время: Вс, июл 06 2025, 20:46

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


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

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


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

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