SAP GRID-ALV复选框+GRID事件

实现功能: 复选框\设置复选框是否可编辑\实现changed_finished事件.

一、ALV增加复选框:

1.1、在输出内表里增加一个SEL的字段:

sel          TYPE c,

1.2、在build_fieldcat FORM里设置checkbox属性和edit属性,并输出SEL字段:

    IF ls_fieldcat-fieldname = 'SEL'.
      ls_fieldcat-checkbox = 'X'.
    ENDIF.

1.3、刷新内表数据,捕获到用户选择的数据

  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = g_grid.
  CALL METHOD g_grid->check_changed_data.

二、控制ALV里的复选框是否可选择:

2.1、在输出内表里增加一个Style字段,控制复选框的样式:

stytle       TYPE lvc_t_styl,     "2.1

2.2、设置ALV的Layout:

gs_layout-stylefname = 'STYTLE'.      "2.2

2.3、在输出内表里设置STYTLE样式,控制复选框是否可行:

  LOOP AT gt_data ASSIGNING .
    AT NEW ebeln.
      l_new_flag = 'X'.
    ENDAT.

    IF l_new_flag = 'X'.
      CLEAR -stytle.
      ls_stytle-fieldname = 'SEL'.
      ls_stytle-style = cl_gui_alv_grid=>mc_style_enabled.
      INSERT ls_stytle INTO TABLE -stytle.
      CLEAR: l_new_flag.
    ELSE.
      CLEAR -stytle.
      ls_stytle-fieldname = 'SEL'.
      ls_stytle-style = cl_gui_alv_grid=>mc_style_disabled.
      INSERT ls_stytle INTO TABLE -stytle.
    ENDIF.
  ENDLOOP.

三、增加CHANGED_FINISHED 事件:

3.1、定义事件接收者:

*&**ALV 事件
DATA: g_grid    TYPE REF TO cl_gui_alv_grid.
DATA: gt_event TYPE slis_t_event WITH HEADER LINE.
CLASS: cl_event_receiver DEFINITION DEFERRED.
DATA:  event_receiver TYPE REF TO cl_event_receiver .

3.2、定义与实现事件:

*&**========================================================================
*&* 事件
*&**========================================================================
CLASS cl_event_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS:
    handle_top_of_page FOR EVENT top_of_page
      OF cl_gui_alv_grid IMPORTING e_dyndoc_id,
*Hotspot click control
    handle_hotspot_click
    FOR EVENT hotspot_click OF cl_gui_alv_grid
    IMPORTING e_row_id e_column_id es_row_no,

    handle_double_click
    FOR EVENT double_click OF cl_gui_alv_grid
    IMPORTING e_row e_column es_row_no sender,

    handle_toolbar
    FOR EVENT toolbar OF cl_gui_alv_grid
    IMPORTING e_object e_interactive sender,

    handle_before_user_command
    FOR EVENT before_user_command OF cl_gui_alv_grid
    IMPORTING e_ucomm sender,

    handle_user_command
    FOR EVENT user_command OF cl_gui_alv_grid
    IMPORTING e_ucomm sender,

    handle_data_changed
    FOR EVENT data_changed OF cl_gui_alv_grid
    IMPORTING er_data_changed sender,

    handle_data_changed_finished
                  FOR EVENT data_changed_finished OF cl_gui_alv_grid
      IMPORTING e_modified et_good_cells sender.

  PRIVATE SECTION.
* This flag is set if any error occured in one of the
* following methods:
    DATA: error_in_data TYPE c.
ENDCLASS. "CL_event_receiver DEFINITION

**------实现事件---------------------------------------------------

CLASS cl_event_receiver IMPLEMENTATION.
  METHOD handle_top_of_page.
*    perform frm_top_of_page  using e_dyndoc_id.
  ENDMETHOD.                    "handle_top_of_page
  METHOD handle_hotspot_click .
*    perform frm_handle_hotspot_click using e_row_id e_column_id es_row_no.
  ENDMETHOD .                    "handle_hotspot_click
  METHOD handle_double_click.
*    PERFORM frm_handle_double_click USING e_row e_column es_row_no sender.

  ENDMETHOD.                    "HANDLE_DOUBLE_CLICK
  METHOD handle_toolbar.
  ENDMETHOD.                    "handle_toolbar
  METHOD handle_before_user_command.
  ENDMETHOD.                    "handle_before_user_command
  METHOD handle_user_command.
  ENDMETHOD.                           "handle_user_command
  METHOD handle_data_changed.
  ENDMETHOD.                    "handle_data_changed
  METHOD   handle_data_changed_finished.
    DATA: ls_data LIKE ty_data.
    DATA: ls_stable TYPE lvc_s_stbl.
    DATA: ls_modi TYPE lvc_s_modi.
    BREAK-POINT.
    error_in_data = space.
    READ TABLE et_good_cells INTO ls_modi INDEX 1.
    IF ls_modi-fieldname = 'SEL'.
      READ TABLE gt_data INTO ls_data INDEX ls_modi-row_id.
     MODIFY gt_data FROM ls_data TRANSPORTING sel WHERE ebeln = ls_data-ebeln.

      "刷新内表
      ls_stable-row = 'X'.
      ls_stable-col = 'X'.
      CALL METHOD g_grid->refresh_table_display
        EXPORTING
          is_stable = ls_stable.
    ENDIF.
  ENDMETHOD.                    "HANDLE_DATA_CHANGED_FINISHED
ENDCLASS. "CL_event_receiver IMPLEMENTATION

3.3、追加事件并设置事件参数:

  "3.3 

 gt_event-name = 'CALLER_EXIT'.          "CALLER_EXIT 不能改变
  gt_event-form = 'FRM_CHANGED_FINISHED'.  " FORM
  APPEND gt_event .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       = sy-repid
      i_callback_pf_status_set = 'ALV_GUI_STATUS'
      i_callback_user_command  = 'ALV_USER_COMMAND'
      it_events                = gt_event[]
      is_layout_lvc            = gs_layout
      it_fieldcat_lvc          = gt_fieldcat
    TABLES
      t_outtab                 = gt_data
    EXCEPTIONS
      program_error            = 1
      OTHERS                   = 2.

3.4、注册事件:

FORM FRM_CHANGED_FINISHED USING e_grid TYPE slis_data_caller_exit.
 
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = g_grid.
 
* 设置enter事件
  CALL METHOD g_grid->register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_enter.
  CALL METHOD g_grid->register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_modified.
 
 
  CREATE OBJECT event_receiver.
  SET HANDLER   event_receiver->handle_data_changed_finished FOR g_grid.
ENDFORM.                    "FRM_CHANGED_FINISHED
 
 
程序完事代码(新建一个GUI_1000可直接运行):
*&---------------------------------------------------------------------*
*& Report ZFIRP004
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zfirp005_test.
 
TABLES: ekpo.
 
TYPE-POOLS:slis.
*&*ALV
DATA:gt_fieldcat TYPE lvc_t_fcat,
     gs_layout   TYPE lvc_s_layo.
 
*&**ALV 事件
DATA: g_grid    TYPE REF TO cl_gui_alv_grid.
DATA: gt_event TYPE slis_t_event WITH HEADER LINE.
CLASS: cl_event_receiver DEFINITION DEFERRED.
DATA:  event_receiver TYPE REF TO cl_event_receiver .
 
DATA: BEGIN OF ty_data,
        ebeln        LIKE ekpo-ebeln,
        ebelp        LIKE ekpo-ebelp,
        loekz        LIKE ekpo-loekz,
        matnr        LIKE ekpo-matnr,
        bukrs        LIKE ekpo-bukrs,
        werks        LIKE ekpo-werks,
        lgort        LIKE ekpo-lgort,
        menge        LIKE ekpo-menge,
        meins        LIKE ekpo-meins,
        netwr        LIKE ekpo-netwr,
 
        sel          TYPE c,              "1.1
        stytle       TYPE lvc_t_styl,     "2.1
        message(100) TYPE c,
      END OF ty_data,
      gt_data LIKE TABLE OF ty_data.
 
 
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: s_bukrs FOR ekpo-bukrs DEFAULT '8000',
                s_matnr FOR ekpo-matnr,
                s_werks FOR ekpo-werks.
PARAMETERS: p_mtart LIKE mara-mtart DEFAULT 'Z400'.
SELECTION-SCREEN END OF BLOCK b1.
 
 
AT SELECTION-SCREEN OUTPUT.
 
AT SELECTION-SCREEN.
 
INITIALIZATION.
 
 
START-OF-SELECTION.
  PERFORM frm_get_data.
 
END-OF-SELECTION.
  PERFORM alv_display.
 
*&**========================================================================
*&* 事件
*&**========================================================================
CLASS cl_event_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS:
    handle_top_of_page FOR EVENT top_of_page
      OF cl_gui_alv_grid IMPORTING e_dyndoc_id,
*Hotspot click control
    handle_hotspot_click
    FOR EVENT hotspot_click OF cl_gui_alv_grid
    IMPORTING e_row_id e_column_id es_row_no,
 
    handle_double_click
    FOR EVENT double_click OF cl_gui_alv_grid
    IMPORTING e_row e_column es_row_no sender,
 
    handle_toolbar
    FOR EVENT toolbar OF cl_gui_alv_grid
    IMPORTING e_object e_interactive sender,
 
    handle_before_user_command
    FOR EVENT before_user_command OF cl_gui_alv_grid
    IMPORTING e_ucomm sender,
 
    handle_user_command
    FOR EVENT user_command OF cl_gui_alv_grid
    IMPORTING e_ucomm sender,
 
    handle_data_changed
    FOR EVENT data_changed OF cl_gui_alv_grid
    IMPORTING er_data_changed sender,
 
    handle_data_changed_finished
                  FOR EVENT data_changed_finished OF cl_gui_alv_grid
      IMPORTING e_modified et_good_cells sender.
 
  PRIVATE SECTION.
 
* This flag is set if any error occured in one of the
* following methods:
    DATA: error_in_data TYPE c.
 
ENDCLASS. "CL_event_receiver DEFINITION
 
**------实现事件---------------------------------------------------
CLASS cl_event_receiver IMPLEMENTATION.
  METHOD handle_top_of_page.
*    perform frm_top_of_page  using e_dyndoc_id.
  ENDMETHOD.                    "handle_top_of_page
  METHOD handle_hotspot_click .
*    perform frm_handle_hotspot_click using e_row_id e_column_id es_row_no.
  ENDMETHOD .                    "handle_hotspot_click
  METHOD handle_double_click.
*    PERFORM frm_handle_double_click USING e_row e_column es_row_no sender.
  ENDMETHOD.                    "HANDLE_DOUBLE_CLICK
  METHOD handle_toolbar.
  ENDMETHOD.                    "handle_toolbar
  METHOD handle_before_user_command.
  ENDMETHOD.                    "handle_before_user_command
  METHOD handle_user_command.
  ENDMETHOD.                           "handle_user_command
  METHOD handle_data_changed.
  ENDMETHOD.                    "handle_data_changed
  METHOD   handle_data_changed_finished.
 
    DATA: ls_data LIKE ty_data.
    DATA: ls_stable TYPE lvc_s_stbl.
    DATA: ls_modi TYPE lvc_s_modi.
    BREAK-POINT.
    error_in_data = space.
    READ TABLE et_good_cells INTO ls_modi INDEX 1.
    IF ls_modi-fieldname = 'SEL'.
      READ TABLE gt_data INTO ls_data INDEX ls_modi-row_id.
 
      MODIFY gt_data FROM ls_data TRANSPORTING sel WHERE ebeln = ls_data-ebeln.
 
      "刷新内表
      ls_stable-row = 'X'.
      ls_stable-col = 'X'.
      CALL METHOD g_grid->refresh_table_display
        EXPORTING
          is_stable = ls_stable.
    ENDIF.
 
  ENDMETHOD.                    "HANDLE_DATA_CHANGED_FINISHED
 
ENDCLASS. "CL_event_receiver IMPLEMENTATION
 
 
 
*&---------------------------------------------------------------------*
*&      Form  FRM_GET_DATA
*&---------------------------------------------------------------------*
*      获取 主数据
*----------------------------------------------------------------------*
FORM frm_get_data .
 
  FIELD-SYMBOLS <fs> LIKE ty_data.
  DATA: l_new_flag TYPE c,
        ls_stytle  TYPE lvc_s_styl.
 
  SELECT *
    INTO CORRESPONDING FIELDS OF TABLE gt_data
    FROM ekpo
    WHERE bukrs IN s_bukrs
      AND matnr IN s_matnr
      AND werks IN s_werks.
 
  SORT gt_data BY ebeln ebelp .
 
  "2.3
  LOOP AT gt_data ASSIGNING <fs>.
 
    AT NEW ebeln.
      l_new_flag = 'X'.
    ENDAT.
 
    IF l_new_flag = 'X'.
      CLEAR <fs>-stytle.
      ls_stytle-fieldname = 'SEL'.
      ls_stytle-style = cl_gui_alv_grid=>mc_style_enabled.
      INSERT ls_stytle INTO TABLE <fs>-stytle.
      CLEAR: l_new_flag.
    ELSE.
      CLEAR <fs>-stytle.
      ls_stytle-fieldname = 'SEL'.
      ls_stytle-style = cl_gui_alv_grid=>mc_style_disabled.
      INSERT ls_stytle INTO TABLE <fs>-stytle.
    ENDIF.
 
  ENDLOOP.
 
ENDFORM.
 
 
FORM alv_display .
 
  PERFORM alv_build_fieldcat .
 
  gs_layout-cwidth_opt = abap_true.     "优化列宽设置
  gs_layout-no_toolbar = 'X'.
  gs_layout-stylefname = 'STYTLE'.      "2.2
 
  "3.3
  gt_event-name = 'CALLER_EXIT'.          "CALLER_EXIT 不能改变
  gt_event-form = 'FRM_CHANGED_FINISHED'.
  APPEND gt_event .
 
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       = sy-repid
      i_callback_pf_status_set = 'ALV_GUI_STATUS'
      i_callback_user_command  = 'ALV_USER_COMMAND'
      it_events                = gt_event[]
      is_layout_lvc            = gs_layout
      it_fieldcat_lvc          = gt_fieldcat
    TABLES
      t_outtab                 = gt_data
    EXCEPTIONS
      program_error            = 1
      OTHERS                   = 2.
  IF sy-subrc <> 0.
    MESSAGE e001(00) WITH '系统错误' space space space.
  ENDIF.
 
ENDFORM.
 
FORM alv_gui_status USING fu_extab TYPE slis_t_extab.
  SET PF-STATUS 'GUI_1000'.
ENDFORM.
 
FORM alv_user_command USING fu_ucomm LIKE sy-ucomm
                           fu_selfield TYPE slis_selfield.
 
  DATA:
    ls_stable LIKE lvc_s_stbl.
 
* 1.3 刷新內表
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = g_grid.
  CALL METHOD g_grid->check_changed_data.
 
  CASE fu_ucomm.
    WHEN 'POST'.
      CLEAR:fu_ucomm.
    WHEN 'CHECK'.
      CLEAR:fu_ucomm.
  ENDCASE.
 
*&**重新设置ALV显示布局
  CALL METHOD g_grid->set_frontend_layout
    EXPORTING
      is_layout = gs_layout.
*&**刷新显示数据 row col 为X刷新后保持位置不变
  ls_stable-row = 'X'.
  ls_stable-col = 'X'.
  CALL METHOD g_grid->refresh_table_display
    EXPORTING
      is_stable = ls_stable.
 
  fu_selfield-refresh    = 'X'.
  fu_selfield-row_stable = 'X'.
  fu_selfield-col_stable = 'X'.
ENDFORM.
 
FORM alv_build_fieldcat .
 
  DATA: ls_fieldcat TYPE lvc_s_fcat.
 
  DEFINE set_fieldcatalog.
    CLEAR ls_fieldcat.
    ls_fieldcat-col_pos      = &1.      "列位置
    ls_fieldcat-edit         = &2.      "可编辑
    ls_fieldcat-just         = &3.      "对齐方式
    ls_fieldcat-ref_table    = &4.      "引用表
    ls_fieldcat-ref_field    = &5.      "引用字段
    ls_fieldcat-fieldname    = &6.      "要显示的字段
    ls_fieldcat-coltext      = &7.      "字段名
    IF ls_fieldcat-fieldname = 'SEL'.   "1.2
      ls_fieldcat-checkbox = 'X'.
    ENDIF.
    APPEND ls_fieldcat TO gt_fieldcat.
  END-OF-DEFINITION.
 
  set_fieldcatalog:
      1 'X ' 'L'  ' ' ' ' 'SEL'  '选择',
      1 ' ' 'L'  ' ' ' ' 'EBELN'  '采购订单',
      1 ' ' 'L'  ' ' ' ' 'EBELP'  '采购订单项目',
      1 ' ' 'L'  ' ' ' ' 'BUKRS'  '公司代码',
      1 ' ' 'L'  ' ' ' ' 'WERKS'  '工厂',
      1 ' ' 'L'  ' ' ' ' 'LGORT'  '库位',
      1 ' ' 'L'  ' ' ' ' 'MATNR'  '物料编码',
      1 ' ' 'L'  ' ' ' ' 'LOEKZ'  '删除标识',
      1 ' ' 'L'  ' ' ' ' 'MENGE'  '数量',
      1 ' ' 'L'  ' ' ' ' 'MEINS'  '单位',
      1 ' ' 'L'  ' ' ' ' 'NETWR'  '净值'.
 
ENDFORM.
 
 
FORM FRM_CHANGED_FINISHED USING e_grid TYPE slis_data_caller_exit.
 
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = g_grid.
 
* 设置enter事件
  CALL METHOD g_grid->register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_enter.
  CALL METHOD g_grid->register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_modified.
 
 
  CREATE OBJECT event_receiver.
  SET HANDLER   event_receiver->handle_data_changed_finished FOR g_grid.
ENDFORM.                    "FRM_CHANGED_FINISHED

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/215533.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器人制作开源方案 | 校园餐具回收分类机器人

作者&#xff1a;梁桥、吴振宇、凌福海、李清轩、姜晓敏 单位&#xff1a;华北科技学院 指导老师&#xff1a;韩红利、张伟杰 1. 场景调研 1.1 项目实施目的 受新冠病毒引起的影响&#xff0c;人们生产生活发生了巨大的改变。现处于疫情防控常态化阶段&#xff0c;为应对点状…

ElementUI+vue+nodejs培训学校课程预约网站的设计与开发

该系统将采用B/S结构模式&#xff0c;前端部分主要使用html、css、JavaScript等技术&#xff0c;使用Vue和ElementUI框架搭建前端页面&#xff0c;后端部分将使用Nodejs来搭建服务器&#xff0c;并使用MySQL建立后台数据系统&#xff0c;通过axios完成前后端的交互&#xff0c;…

题目:神奇的进制

解题思路&#xff1a; 用电脑自带的计算器&#xff0c;切换到程序员模式。里面有进制转换功能。 由题目&#xff0c;要求严格递增且都为字母&#xff0c;还要大于2023&#xff0c;则数字16进制为ABC。

❀My学习Linux命令小记录(10)❀

目录 ❀My学习Linux命令小记录&#xff08;10&#xff09;❀ 36.fold指令 37.expr指令 38.iperf指令 39.telnet指令 40.ssh指令 ❀My学习Linux命令小记录&#xff08;10&#xff09;❀ 36.fold指令 功能说明&#xff1a;控制文件内容输出时所占用的屏幕宽度&#xff0c…

智能优化算法应用:基于供需算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于供需算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于供需算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.供需算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

基于PHP的在线日语学习平台

有需要请加文章底部Q哦 可远程调试 PHP在线日语学习平台 一 介绍 此日语学习平台基于原生PHP开发&#xff0c;数据库mysql。系统角色分为用户和管理员。(附带参考设计文档) 技术栈&#xff1a;phpmysqlphpstudyvscode 二 功能 学生 1 注册/登录/注销 2 个人中心 3 查看课程…

善网商城上线洁柔产品 公益人专享爱心价官方正品

近日&#xff0c;中国善网慈善商城&#xff08;以下简称善网商城&#xff09;系统经升级后重新上线。目前善网商城线上销售的中顺洁柔旗下慈善产品已顺利获得中顺洁柔纸业股份有限公司授权&#xff0c;双方就合作事宜达成共识&#xff0c;并于近日签订线上经营授权书。 &#x…

Optional源码分析(涉及Objects源码和Stream源码)

研究Optional源码之前先谈一谈Objects源码。 主要代码&#xff1a; ForceInlinepublic static <T> T requireNonNull(T obj) {if (obj null) {throw new NullPointerException();} else {return obj;}}ForceInlinepublic static <T> T requireNonNull(T obj, Str…

C/C++,图算法——凸包的快速壳(Quick Hull)算法的源代码

1 文本格式 // C program to implement Quick Hull algorithm // to find convex hull. #include<bits/stdc.h> using namespace std; // iPair is integer pairs #define iPair pair<int, int> // Stores the result (points of convex hull) set<iPair>…

外包干了2个月,技术退步明显。。。。。

先说一下自己的情况&#xff0c;本科生生&#xff0c;18年通过校招进入武汉某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年国庆&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测…

Linux --- 进程控制

目录 1. 进程创建 1.1. 内核数据结构的处理 1.2. 代码的处理 1.3. 数据的处理&#xff1a; 方案一&#xff1a;fork创建子进程的时候&#xff0c;直接对数据进行拷贝处理&#xff0c;让父子进程各自私有一份 方案二&#xff1a;写实拷贝(copy on write) 1.4. fork常规用…

RocketMQ-整合SpringBoot

SpringBoot整合RocketMQ 创建Maven工程&#xff0c;引入关键依赖&#xff1a; <dependencies><dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.2</ver…

flutter开发实战-readmore长文本展开和收缩控件

flutter开发实战-readmore长文本展开和收缩控件 当长文本展开和收缩控件&#xff0c;我们需要使用readmore来处理长文本展开和收缩&#xff0c;方便阅读 一、引入readmore 在工程的pubspec.yaml中引入插件 readmore: ^2.1.0ReadMoreText的属性如下 const ReadMoreText(this.…

Pandas操作数据库

一&#xff1a;Pandas读取数据库数据 二&#xff1a;Pandas读取海量数据 三&#xff1a;Pandas向数据库存数据 四&#xff1a;Pandas写入海量数据

低噪声,带内置 ALC 回路的双通道均衡放大器,应用于立体声收录机和盒式录音机的芯片D3308的描述

D3308 是一块带有 ALC 的双通道前置放大器。它适用于立体声收录机和盒式录音机。采用 SIP9、SOP14 的封装形式封装。 主要特点 带内置 ALC 回路的双通道均衡放大器 低噪声: VNIl.OuV(典型值)。开环电压增益高: 80dB (典型值)工作电源电压范围宽: 通道间的…

EPS地形图绘制技巧--快捷键

如何导入外业点数据&#xff1f; &#xff08;1&#xff09;打开EPS软件&#xff0c;新建一个工程。如下&#xff1a; &#xff08;2&#xff09;在【文件】-【输入输出】-【调入坐标文件数据】中&#xff0c;调入测量点数据&#xff0c;如下&#xff1a; &#xff08;3&#…

基于粒子群算法思想的电动汽车充放电策略-V2G模型-程序代码!

电动汽车充放电对电网的安全稳定带来影响&#xff0c;合理规划电动汽车充放电时间和策略是目前的研究热点。本程序仿真了汽车有序充电和无需充电两种案例&#xff0c;利用电动汽车合理消纳新能源电量&#xff0c;利用粒子群算法思想来求解模型&#xff0c;程序中案例丰富&#…

平价的开放式耳机怎么选?推荐几款平价好用的耳机,亲测对比

是不是也在为如何在有限的预算内找到一款性价比高的开放式耳机而烦恼呢&#xff1f;别着急&#xff0c;小编为你精心挑选了几款平价好用的开放式耳机&#xff0c;并亲自进行了对比测试&#xff0c;在这个音乐时代&#xff0c;不需要花大价钱就能拥有高品质的音乐体验&#xff0…

MacOS 系统 Flutter开发Android 环境配置

上节我们已经把 开发工具准备齐全&#xff0c;并可以进行Flutter的web开发&#xff0c;本节将做安卓开发环境进行详细说明 接上节这里先说下&#xff0c;系统环境 MacOS14 &#xff08;Sonoma&#xff09; 芯片 Apple M3 执行命令&#xff1a;flutter doctor 提示如下&#…

二蛋赠书十期:《剪映短视频剪辑从入门到精通》

前言 大家好&#xff01;我是二蛋&#xff0c;一个热爱技术、乐于分享的工程师。在过去的几年里&#xff0c;我一直通过各种渠道与大家分享技术知识和经验。我深知&#xff0c;每一位技术人员都对自己的技能提升和职业发展有着热切的期待。因此&#xff0c;我非常感激大家一直…