Form 电子表格(JTF GRID)

JTF GRID 的略概念

JTF Grid不是Form 的正统功能,而是 Oracle自己以 EBS 开发中总出的“可部署块字段”:块被出小字段可以通过专门的界面定义。

 

对于开发来说,要举行的事务就是是故“遵循
JTF Grid规范”换取“增删字段无需修改 Form代码”。

 

测试:

1.引用JTF Grid的PLL库

选中 Attached Libraries ,点击“+ ”,选择 JTF_GRID.pll,其以机关引用 JTF_UTIL 、JTFDEBUG 。如果地方没有要预打服务器下载

 

2.拷贝标准 JTF Grid对象

 

1.1 对象组

开辟 JTFSTAND.fmb,把对象组“JTF_GRID”拖到我们温馨的 Form中,并选择“Subclass”而休“ Copy”,这个跟前说的Folder一样。

 

这么会自动发出相同名目繁多用于 JTF_GRID的靶子:块、画布、参数、 Property Classes、Window ,尤其令人瞩目 Form级触发器JTF_GRID_EVENT 。这些还不要修改。

 

1.2 过程

从JTFSTAND.fmb拷贝 JTF_CUSTOM_GRID_EVENT过程及我们协调的Form中,然后上及事件处理,暂时全部放
null

 

PROCEDURE jtf_custom_grid_event(gridname 
IN VARCHAR2

                              
,eventtype IN VARCHAR2 ) IS

    grid_selection
jtf_grid_property.row_selection_type;

    l_start_row    NUMBER;

BEGIN

    IF eventtype =
jtf_grid_events.hyperlink_event THEN

        NULL;

    ELSIF eventtype =
jtf_grid_events.new_record_event THEN

        NULL;

    ELSIF eventtype =
jtf_grid_events.popup_event THEN

        NULL;

    ELSIF eventtype =
jtf_grid_events.row_selection_event THEN

        NULL;

    ELSIF eventtype =
jtf_grid_events.end_of_find_event THEN

        NULL;

    ELSIF eventtype =
jtf_grid_events.doubleclick_event THEN

        NULL;

    END IF ;

END;

 

3.创立数据库对象

 

-- Create table
CREATE TABLE cux_test_jtf_grid 
AS 
SELECT line_num
      ,vendor_name
      ,vendor_id
      ,order_date
      ,po_number
      ,inventory_item_id
      ,item_number
      ,DESCRIPTION
      ,quantity
      ,unit_of_measure
      ,unit_price
      ,currency_code 
FROM  xxibi_rcv_att_ohhand_v ;

--Or Create table
create table CUX_TEST_JTF_GRID
(
  LINE_NUM          NUMBER not null,
  VENDOR_NAME       VARCHAR2(240),
  VENDOR_ID         NUMBER,
  ORDER_DATE        DATE,
  PO_NUMBER         VARCHAR2(20) not null,
  INVENTORY_ITEM_ID NUMBER not null,
  ITEM_NUMBER       VARCHAR2(40),
  DESCRIPTION       VARCHAR2(240),
  QUANTITY          NUMBER not null,
  UNIT_OF_MEASURE   VARCHAR2(25) not null,
  UNIT_PRICE        NUMBER,
  CURRENCY_CODE     VARCHAR2(15)
)

 

 

4.概念 CRM 电子表格

路径:

图片 1

 输入电子表格名称、源视图、字段定义

图片 2

 

5.创建GRID块

 

手工创建非数据库块,规范起见,块名后加“GRID”,这里是“DEMO_GRID”。

 

当了,从 Template开始之健康修改步骤为是设开的。

 

6.修改GRID块

 

加上三个ITEM

 

Bean Area :READONLY_GRID

图片 3

 

Button :FIND

图片 4

 

Button :DETAIL

 图片 5

 

 

7.布局ITEM到画布

 

对Bean Area
只会于那特性上安装其当画布上之显得涨幅与冲天

图片 6

 

8.添加触发器代码

 

Form 级别 WHEN-NEW-FORM-INSTANCE

 

IF NOT jtf_grid.getbooleanproperty(‘DEMO_GRID.READONLY_GRID’,

                                  
jtf_grid_property.initialized) THEN

   jtf_grid.init(‘DEMO_GRID.READONLY_GRID’,’CUX_TEST_JTF_GRID_V’);

  
jtf_grid.setbooleanproperty(‘DEMO_GRID.READONLY_GRID’,

                              
jtf_grid_property.allow_multiple_row_selection,

                              
FALSE);

END IF ;

 

用户点击 Find,通常是弹有查询界面,输入完条件更实践查询,我们这边看望去查询条件界面

Find 按钮 WHEN-BUTTON-PRESSED

 

jtf_grid.removeallbindvariables(
‘DEMO_GRID.READONLY_GRID’);

 

jtf_grid.setcharproperty(‘DEMO_GRID.READONLY_GRID’

                       
,jtf_grid_property.where_clause

                        ,’CURRENCY_CODE = ”USD”’);

 

IF jtf_grid.getbooleanproperty(‘DEMO_GRID.READONLY_GRID’

                             
,jtf_grid_property.is_populated) THEN

    jtf_grid.refresh(‘DEMO_GRID.READONLY_GRID’);

ELSE

    jtf_grid.populate(‘DEMO_GRID.READONLY_GRID’);

END IF ;

 

9.甩卖选择事件

用户选中某行后,我们得以根据那当选的信去开辟一个普通块,这样首先用以
FIND按钮的WHEN-BUTTON-PRESSED 中编辑

jtf_grid.requestrowselection(‘DEMO_GRID.READONLY_GRID’);

 

可以打开该包查看该具体意向。然后以过程
jtf_custom_grid_event中一呼百应选择事件

 

PROCEDURE JTF_CUSTOM_GRID_EVENT(gridName
in varchar2, eventType in varchar2) IS

  grid_selection
JTF_GRID_PROPERTY.ROW_SELECTION_TYPE;

  l_start_row  number;

BEGIN

  IF eventtype =
jtf_grid_events.hyperlink_event THEN

    null;

  ELSIF eventtype =
jtf_grid_events.new_record_event THEN

    null;

  ELSIF eventtype =
jtf_grid_events.popup_event THEN

    null;

  ELSIF eventtype =
jtf_grid_events.row_selection_event THEN

    grid_selection :=
jtf_grid.getRowSelection(‘DMEO_GRID.READONLY_GRID’ );

    if grid_selection.COUNT > 0 then

      l_start_row :=
grid_selection(1).startrow;

      –fnd_message.debug(jtf_grid.getcolumncharvalue(‘DMEO_GRID.READONLY_GRID’,l_start_row,’NAME’));

    end if ;

  ELSIF eventtype =
jtf_grid_events.end_of_find_event THEN

    null;

  ELSIF eventtype =
jtf_grid_events.doubleclick_event THEN

    null;

  END IF;

END;

 

10.高达传编译

 图片 7

 

相关文章