ALV各种编辑

16 篇文章 0 订阅

1.ALV某列可以编辑.

    很简单在FIELDCAT中设置EDIT属性为X就可以了。

2.ALV某行可以编辑.

    要在ALV数据内表中添加一个字段参考内表类(LVC_T_STYL)

   并且在ALV的LAYOUT部分指示出控制是否可编辑的字段名字

3.ALV某个单元格可以编辑.

控制单元格和行的控制一样

如果控制到行和单元格,就不能用以前那个’REUSE_ALV_GRID_DISPLAY’了,

要用增强的函数‘REUSE_ALV_GRID_DISPLAY_LVC’.

如果大家还有更好的方法,请多多指教。

下面是执行后的效果图:

ALV行列单元格编辑控制

INCLUDE <icon>.

INCLUDE <symbol>.

TYPE-POOLS:slis.

TABLES:
  SPFLI.

TYPES:
  BEGIN OF TYP_SPFLI,
    CARRID    TYPE SPFLI-CARRID,
    CONNID    TYPE SPFLI-CONNID,
    COUNTRYFR TYPE SPFLI-COUNTRYFR,
    COUNTRYTO TYPE SPFLI-COUNTRYTO,
    CITYFROM  TYPE SPFLI-CITYFROM,
    CITYTO    TYPE SPFLI-CITYTO,
  END OF TYP_SPFLI,

  BEGIN OF TYP_OUTPUT,
    ICON      TYPE icon_d,
    SYMBOL    TYPE icon_d,
    CARRID    TYPE SPFLI-CARRID,
    CONNID    TYPE SPFLI-CONNID,
    COUNTRYFR TYPE SPFLI-COUNTRYFR,
    COUNTRYTO TYPE SPFLI-COUNTRYTO,
    CITYFROM  TYPE SPFLI-CITYFROM,
    CITYTO    TYPE SPFLI-CITYTO,
    STYLE     TYPE LVC_T_STYL, “FOR DISABLE
  END OF TYP_OUTPUT.

DATA:
  TH_SPFLI TYPE TYP_SPFLI,
  TD_SPFLI TYPE TABLE OF TYP_SPFLI,

  TH_STYLE TYPE LVC_S_STYL,
  TD_STYLE TYPE TABLE OF LVC_S_STYL,

  TH_LAYOUT TYPE LVC_S_LAYO,
  TH_FIELDCAT TYPE LVC_S_FCAT,
  TD_FIELDCAT TYPE TABLE OF LVC_S_FCAT,

  TH_OUTPUT TYPE TYP_OUTPUT,
  TD_OUTPUT TYPE TABLE OF TYP_OUTPUT.
START-OF-SELECTION.

 SELECT-OPTIONS:
   S_CARRID FOR SPFLI-CARRID,
   S_CONNID FOR SPFLI-CONNID.

 PERFORM FRM_GET_DATA.

 PERFORM FRM_EDIT_DATA.

 PERFORM FRM_DISPLAY_DATA.

*&———————————————————————*
*&      Form  FRM_GET_DATA
*&———————————————————————*
*       GET MAIN DATA
*———————————————————————-*
FORM FRM_GET_DATA .

  SELECT  CARRID
          CONNID
          COUNTRYFR
          COUNTRYTO
          CITYFROM
          CITYTO
   INTO  TABLE TD_SPFLI
   FROM   SPFLI
  WHERE CARRID IN S_CARRID
    AND CONNID IN S_CONNID.

 IF SY-SUBRC <> 0.
   MESSAGE S001 DISPLAY LIKE ‘E’.
   LEAVE LIST-PROCESSING.
 ENDIF.
ENDFORM.                    ” FRM_GET_DATA
*&———————————————————————*
*&      Form  FRM_DISPLAY_DATA
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FRM_DISPLAY_DATA .
  PERFORM FRM_SET_TITLE.

  PERFORM FRM_SET_FIELDCAT.
  PERFORM FRM_CALL_FUNCTION.
ENDFORM.                    ” FRM_DISPLAY_DATA

*&———————————————————————*
*&      Form  FRM_SET_TITLE
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FRM_SET_TITLE .
  TH_LAYOUT-STYLEFNAME = ‘STYLE’.
  TH_LAYOUT-GRID_TITLE  = ‘行列单元格编辑控制’.
  TH_LAYOUT-CWIDTH_OPT = ‘X’.
ENDFORM.                    ” FRM_SET_TITLE
*&———————————————————————*
*&      Form  FRM_SET_FIELDCAT
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FRM_SET_FIELDCAT .
  PERFORM FRM_SET_VALUE USING ‘1′ ‘ICON’   ‘ICON’ ‘5′ ‘ ‘.
  PERFORM FRM_SET_VALUE USING ‘2′ ‘SYMBOL’ ‘SYMBOL’ ‘5′ ‘ ‘.
  PERFORM FRM_SET_VALUE USING ‘3′ ‘CARRID’ ‘航线承运人ID’ ‘3′ ”.
  PERFORM FRM_SET_VALUE USING ‘4′ ‘CONNID’ ‘航班连接 Id’ ‘4′ ”.
  PERFORM FRM_SET_VALUE USING ‘5′ ‘COUNTRYFR’ ‘国家代码FROM’ ‘3′ ”.
  PERFORM FRM_SET_VALUE USING ‘6′ ‘COUNTRYTO’ ‘国家代码TO’ ‘3′ ”.
  PERFORM FRM_SET_VALUE USING ‘7′ ‘CITYFROM’ ‘起飞城市’ ‘20′ ”.
  PERFORM FRM_SET_VALUE USING ‘8′ ‘CITYTO’ ‘目标城市’ ‘20′ ”.

ENDFORM.                    ” FRM_SET_FIELDCAT
*&———————————————————————*
*&      Form  FRM_SET_VALUE
*&———————————————————————*
*       text
*———————————————————————-*
*      –>P_COL_POS  text   NO_ROWMARK
*      –>P_FIELDNAME  text
*      –>P_SELTEXT_L  text
*      –>P_OUTPUTLEN  text
*———————————————————————-*
FORM FRM_SET_VALUE  USING    I_COL_POS
                             I_FIELDNAME
                             I_SELTEXT
                             I_OUTPUTLEN
                             I_CHECKBOX.

 TH_FIELDCAT-COL_POS =   I_COL_POS.
 TH_FIELDCAT-FIELDNAME = I_FIELDNAME.
 TH_FIELDCAT-SCRTEXT_M = I_SELTEXT.
 TH_FIELDCAT-OUTPUTLEN = I_OUTPUTLEN.
 IF I_FIELDNAME = ‘CARRID’.
   TH_FIELDCAT-EDIT = ‘X’.
ELSEIF I_FIELDNAME = ‘CHECK’.
  TH_FIELDCAT-SCRTEXT_M = ‘SELECT’.
  TH_FIELDCAT-CHECKBOX = ‘X’.
  TH_FIELDCAT-OUTPUTLEN = 1.
  TH_FIELDCAT-EDIT = ‘X’.
ELSEIF I_FIELDNAME = ‘ICON’.
  TH_FIELDCAT-icon = ‘X’.
ELSEIF I_FIELDNAME = ‘SYMBOL’.
  TH_FIELDCAT-symbol = ‘X’.
ENDIF.
 APPEND TH_FIELDCAT TO TD_FIELDCAT.
 CLEAR TH_FIELDCAT.

ENDFORM.                    ” FRM_SET_VALUE
*&———————————————————————*
*&      Form  FRM_CALL_FUNCTION
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FRM_CALL_FUNCTION .

*  call function ‘REUSE_ALV_GRID_DISPLAY’
  CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY_LVC’
    EXPORTING
      I_CALLBACK_PROGRAM      = SY-REPID
      I_CALLBACK_USER_COMMAND = ‘FRM_SET_COMMAND’
      IS_LAYOUT_LVC           = TH_LAYOUT
      IT_FIELDCAT_LVC         = TD_FIELDCAT
      I_SAVE                  = ‘A’
    TABLES
      T_OUTTAB                = TD_OUTPUT
    EXCEPTIONS
      PROGRAM_ERROR           = 1
      OTHERS                  = 2.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    ” FRM_CALL_FUNCTION
*&———————————————————————*
*&      Form  FRM_EDIT_DATA
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FRM_EDIT_DATA .
  DATA:
    LW_INDEX TYPE SY-INDEX,
    LW_MOD   TYPE I.
  LOOP AT TD_SPFLI INTO TH_SPFLI.
    LW_INDEX = SY-TABIX.
    LW_MOD = LW_INDEX MOD 3.

  IF LW_MOD <> 0.
    TH_OUTPUT-ICON   = ICON_TIME.
    TH_OUTPUT-SYMBOL = SYM_LEFT_HAND.
  ELSE.
    TH_OUTPUT-ICON   = ICON_COLOR.
    TH_OUTPUT-SYMBOL = sym_folder.
  ENDIF.

  IF TH_SPFLI-COUNTRYTO = ‘DE’ .
    PERFORM FRM_SET_ENABLED USING ‘COUNTRYTO’.
    PERFORM FRM_SET_ENABLED USING ‘CITYTO’.
  ENDIF.

  IF TH_SPFLI-CONNID = ‘2436′.
    PERFORM FRM_SET_ENABLED USING ‘COUNTRYFR’.
    PERFORM FRM_SET_ENABLED USING ‘CITYFROM’.
  ENDIF.

  IF TH_SPFLI-CARRID = ‘SQ’.
    PERFORM FRM_SET_DISABLED USING ‘CARRID’.
  ENDIF.

  IF TH_SPFLI-CARRID = ‘DL’.
    PERFORM FRM_SET_ENABLED USING ‘ICON’.
    PERFORM FRM_SET_ENABLED USING ‘SYMBOL’.
    PERFORM FRM_SET_ENABLED USING ‘CARRID’.
    PERFORM FRM_SET_ENABLED USING ‘CONNID’.
    PERFORM FRM_SET_ENABLED USING ‘COUNTRYFR’.
    PERFORM FRM_SET_ENABLED USING ‘COUNTRYTO’.
    PERFORM FRM_SET_ENABLED USING ‘CITYFROM ‘.
    PERFORM FRM_SET_ENABLED USING ‘CITYTO’.
  ENDIF.

   MOVE-CORRESPONDING TH_SPFLI TO TH_OUTPUT.
   TH_OUTPUT-STYLE[] = TD_STYLE[].

   REFRESH:
     TD_STYLE.

    APPEND TH_OUTPUT TO TD_OUTPUT.
    CLEAR:
      LW_INDEX,
      LW_MOD,
      TH_OUTPUT.

  ENDLOOP.
ENDFORM.                    ” FRM_EDIT_DATA

FORM FRM_SET_COMMAND USING r_ucomm LIKE sy-ucomm
                  rs_selfield TYPE slis_selfield.

  CASE r_ucomm.
      WHEN ‘&IC1′. “双击事件

*        READ TABLE itab INTO wa INDEX rs_selfield-tabindex.
*
*        SET PARAMETER ID ‘BLN’ FIELD wa-belnr.
*        SET PARAMETER ID ‘BUK’ FIELD wa-bukrs.
*        SET PARAMETER ID ‘GJR’ FIELD wa-gjahr.
*
*        CALL TRANSACTION ‘FB03′ AND SKIP FIRST SCREEN.
    ENDCASE.

ENDFORM.
*&———————————————————————*
*&      Form  FRM_SET_ENABLED
*&———————————————————————*
*       text
*———————————————————————-*
*      –>P_0447   text
*———————————————————————-*
FORM FRM_SET_ENABLED  USING    I_NAME.
  TH_STYLE-FIELDNAME = I_NAME.
  TH_STYLE-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
  “set field to disabled
  APPEND TH_STYLE TO TD_STYLE.
  CLEAR TH_STYLE.

ENDFORM.                    ” FRM_SET_ENABLED

*&———————————————————————*
*&      Form  FRM_SET_DISABLED
*&———————————————————————*
*       text
*———————————————————————-*
*      –>I_NAME  text
*———————————————————————-*
FORM FRM_SET_DISABLED  USING    I_NAME.
  TH_STYLE-FIELDNAME = I_NAME.
  TH_STYLE-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
  “set field to disabled
  APPEND TH_STYLE TO TD_STYLE.
  CLEAR TH_STYLE.
ENDFORM.                    ” FRM_SET_DISABLED

 

 

 


REPORT  zppr050.

TABLES: zgnn_stock.

DATA: it_zgnn_stock1 LIKE zgnn_stock OCCURS WITH HEADER LINE.
DATA: BEGIN OF it_zgnn_stock OCCURS 0.
        INCLUDE STRUCTURE zgnn_stock.
DATA:style     TYPE lvc_t_styl,"FOR DISABLE
END OF it_zgnn_stock .
DATA: it_stock LIKE it_zgnn_stock OCCURS WITH HEADER LINE.
DATA: it_del LIKE zgnn_stock  OCCURS WITH HEADER LINE.

*-------------------ALV显示变量----------------------------------------*
DATA: wa_fieldcat TYPE lvc_s_fcat.   "定义一个显示内表的一行
DATA: i_fieldcat TYPE TABLE OF lvc_s_fcat.  "定义显示一列的框架
DATA: i_layout TYPE lvc_s_layo .       "布局
DATA: i_repid LIKE sy-repid.
DATA: th_style TYPE lvc_s_styl,
      td_style TYPE TABLE OF lvc_s_styl.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECTION-SCREEN END OF BLOCK b1.



INITIALIZATION.


START-OF-SELECTION.
  PERFORM get_data.
  PERFORM get_display.

END-OF-SELECTION.


*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_data .
  SELECT INTO CORRESPONDING FIELDS OF TABLE it_zgnn_stock
    FROM zgnn_stock.
  SORT it_zgnn_stock BY cusnumber matnr1 matnr.
  it_stock[] it_zgnn_stock[].
ENDFORM.                    " GET_DATA
*&---------------------------------------------------------------------*
*&      Form  GET_DISPLAY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_display .
  PERFORM frm_set_title .    " 这段代码也是控制行是否可以编辑
  PERFORM build_field.
*  i_layout-colwidth_optimize = 'X'.
*  i_layout-info_fieldname = 'LINE_COL'.
*  i_layout-zebra = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       sy-repid
      is_layout_lvc            i_layout
      it_fieldcat_lvc          i_fieldcat
      i_callback_pf_status_set 'SET_PF_STATUS'
      i_callback_user_command  'F_USER_COMMAND'
      i_save                   'A'
*     i_default                = 'X'
    TABLES
      t_outtab                 it_zgnn_stock
    EXCEPTIONS
      program_error            1
      OTHERS                   2.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
ENDFORM.                    " GET_DISPLAY
*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM build_field .
  DEFINE alv_field.
    clear wa_fieldcat .
    wa_fieldcat-fieldname     &1.
    if &1 'BALANCE'.
      wa_fieldcat-edit &2.
    endif.
    wa_fieldcat-scrtext_m &3.
    wa_fieldcat-outputlen           &4.
    append wa_fieldcat to  i_fieldcat .
  END-OF-DEFINITION.

  alv_field   'CUSNUMBER' 'X' 'Customer part number'  '15'.
  alv_field   'MATNR1' 'X' 'Material Number' '15'.
  alv_field   'MATNR' 'X' 'Material Number' '15'.
  alv_field   'BALANCE' 'X' 'Quantity' '15'.
ENDFORM.                    " BUILD_FIELD
*&---------------------------------------------------------------------*
*&      Form  set_pf_status
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->RT_EXTAB   text
*----------------------------------------------------------------------*
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'STANDARD'.
ENDFORM.                    "set_pf_status
*&---------------------------------------------------------------------*
*&      Form  f_user_command
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_UCOMM        text
*      -->P_RS_SELFIELD  text
*----------------------------------------------------------------------*
FORM f_user_command USING p_ucomm TYPE sy-ucomm
                         p_rs_selfield TYPE slis_selfield .
  CASE p_ucomm.
    WHEN '&ADD'.
      DATA:  l_grid TYPE REF TO cl_gui_alv_grid.
*------------将ALV上修改的内容保存到内表---------------------------------*
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          e_grid l_grid.
      CALL METHOD l_grid->check_changed_data.

      PERFORM frm_set_enabled USING 'CUSNUMBER'.    " 这段代码也是控制行是否可以编辑
      PERFORM frm_set_enabled USING 'MATNR1'.       " 这段代码也是控制行是否可以编辑
      PERFORM frm_set_enabled USING 'MATNR'.       " 这段代码也是控制行是否可以编辑
      PERFORM frm_set_enabled USING 'BALANCE'.    " 这段代码也是控制行是否可以编辑
      it_zgnn_stock-style[] td_style[].
      APPEND it_zgnn_stock.
      REFRESH:td_style.
    WHEN 'SAVE'.
      PERFORM get_save.
    WHEN '&DEL'. "**Delete
      FIELD-SYMBOLS: <fs_msg> LIKE LINE OF it_zgnn_stock.
**读取选中的一行
      READ TABLE it_zgnn_stock ASSIGNING <fs_msg> INDEX p_rs_selfield-tabindex.
      IF sy-subrc EQ 0.
        MOVE-CORRESPONDING <fs_msg> TO it_del.
        APPEND it_del. CLEAR it_del.
        DELETE TABLE it_zgnn_stock FROM <fs_msg>.
      ENDIF.
  ENDCASE.
  p_rs_selfield-refresh 'X' .   " 当用户在显式界面上对数据进行修改时,同时内表中的数据也随之刷新
ENDFORM.                    "f_user_command
*&---------------------------------------------------------------------*
*&      Form  FRM_SET_TITLE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_set_title .
  i_layout-stylefname 'STYLE'.
  i_layout-grid_title  '行列单元格编辑控制'.
  i_layout-cwidth_opt 'X'.
ENDFORM.                    " FRM_SET_TITLE
*&---------------------------------------------------------------------*
*&      Form  FRM_SET_ENABLED
*&---------------------------------------------------------------------*
*       text
*********改变AVL属性,如下为可以修改
*----------------------------------------------------------------------*
*      -->P_0222   text
*----------------------------------------------------------------------*
FORM frm_set_enabled  USING  i_name.
  th_style-fieldname i_name.
  th_style-style cl_gui_alv_grid=>mc_style_enabled.
  APPEND th_style TO td_style.
  CLEAR th_style.
ENDFORM.                    " FRM_SET_ENABLED
*&---------------------------------------------------------------------*
*&      Form  frm_set_disabled
*&---------------------------------------------------------------------*
*       text
****改变ALV属性,如下为不可以修改
*----------------------------------------------------------------------*
*      -->I_NAME     text
*----------------------------------------------------------------------*
FORM frm_set_disabled  USING    i_name.
  th_style-fieldname i_name.
  th_style-style cl_gui_alv_grid=>mc_style_disabled.
  "set field to disabled
  APPEND th_style TO td_style.
  CLEAR th_style.
ENDFORM.                    "frm_set_disabled
*&---------------------------------------------------------------------*
*&      Form  GET_SAVE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_save .
  DATA:  l_grid TYPE REF TO cl_gui_alv_grid.
  DATA l_matnr LIKE mara-matnr.
  DATA l_matnr1 LIKE mara-matnr.
  DATA: fs_msg2 LIKE zgnn_stock.
  DATA: BEGIN OF message OCCURS 0,
    message TYPE LENGTH 255,
  END OF message.
  DATA l_message(255TYPE c.
*------------将ALV上修改的内容保存到内表---------------------------------*
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid l_grid.
  CALL METHOD l_grid->check_changed_data.

  LOOP AT it_zgnn_stock .
    MOVE-CORRESPONDING it_zgnn_stock TO fs_msg2.
    READ TABLE it_stock WITH KEY cusnumber fs_msg2-cusnumber matnr1 fs_msg2-matnr1 matnr fs_msg2-matnr .
    IF sy-subrc EQ 0.
      MODIFY zgnn_stock FROM fs_msg2."Changed
      COMMIT WORK.
    ELSE.
      CLEAR: l_matnr,l_matnr1.
      SELECT SINGLE matnr INTO l_matnr1
      FROM mara
      WHERE matnr fs_msg2-matnr1.
      IF sy-subrc NE 0.
        CLEAR: message ,l_message.
        CONCATENATE fs_msg2-matnr1 'is not exist !' INTO l_message SEPARATED BY space.
        message-message l_message.
        APPEND message. CLEAR message.
        CONTINUE.
      ENDIF.
      SELECT SINGLE matnr INTO l_matnr
      FROM mara
      WHERE matnr fs_msg2-matnr.
      IF sy-subrc NE 0.
        CLEAR: message ,l_message.
        CONCATENATE fs_msg2-matnr 'is not exist !' INTO l_message SEPARATED BY space.
        message-message l_message.
        APPEND message. CLEAR message.
        CONTINUE.
      ENDIF.
      MODIFY zgnn_stock FROM fs_msg2."Insert
      COMMIT WORK.
    ENDIF.
  ENDLOOP.
  LOOP AT it_del."Delete
    DELETE zgnn_stock FROM it_del.
  ENDLOOP.
  READ TABLE message INDEX 1.
  IF sy-subrc EQ 0.
    MESSAGE message-message TYPE 'I'.
  ELSE.
    MESSAGE 'Save data is OK !' TYPE 'S'.
  ENDIF.
ENDFORM.                    " GET_SAVE

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值