顯示具有 Genero 2.50 新增功能 標籤的文章。 顯示所有文章
顯示具有 Genero 2.50 新增功能 標籤的文章。 顯示所有文章

2013年10月24日 星期四

Genero 2.50 新功能預覽 - 更新的DISPLAY ARRAY控制區塊

 

DISPLAY ARRAY指令使用在表格資料的呈現、樹狀資料的呈現兩種情況下。

由於樹狀結構無法透過 INPUT ARRAY 進行維護 (無法開放給使用者畫線) ,因此在這一個版本中,折衷的在 DISPLAY 的過程中挖開欄位給使用者進行簡單的資料輸入。

以下個別探討一下各控制區塊的用途:

資料用:

  • ON FILL BUFFER
  • ON EXPAND
  • ON COLLAPSE

控制用:

  • BEFORE DISPLAY / AFTER DISPLAY
  • BEFORE ROW / AFTER ROW

交談用:

  • ON ACTION / ON IDLE / ON KEY
  • ON APPEND :會跑到畫面最下方,開出一行新的空間,並且在畫面上出現輸入方格,使用者可以在方格內進行資料輸入
  • ON INSERT :會將畫面上的資料往下擠一個空間出來,並且在畫面上出現輸入方格,使用者可以在方格內進行資料輸入
  • ON UPDATE :會將畫面上本筆資料用 edit 的形式變成可以輸入的樣態
  • ON DELETE:會協助刪除節點及全域變數內的資料

拖拉用:這部分應該是歸類在『交談用』,使用前需要先定義 ui.DragDrop 物件後才可以使用 (下方以 dnd 取代)

  • ON DRAG_START (dnd)

        定義拖動資料起始時應該要做的事情,例如確認資料位置,或是資料拖拉應用的模式*

應用模式設置使用 dnd.setOperation( STRING ) ,其中參數可傳入三種
copy (複製模式) / move (移動模式) / NULL (取消本次的拖拉動作)

        如果同時需要支援兩種模式,可以用 dnd.addPossibleOperation ( STRING ) 的指令加入模式

  • ON DRAG_OVER (dnd)

        通常在 ON DRAG_OVER 或 ON DRAG_ENTER 時,若確認沒有拖到東西 (目標) ,就可以使用 dnd.setOperation( NULL ) 來結束這一次的拖拉

  • ON DRAG_ENTER (dnd)
  • ON DROP (dnd)

        拖拉到另一個位置上後,放開滑鼠時會觸發此『完工』的區塊。如果是處理樹狀資料,可以在此區塊內呼叫 dnd.dropInternal( ) ,系統會幫你將資料移到正確的樹狀節點上。

  • ON DRAG_FINISH (dnd)

         此區塊是拖拉的最後一個結束區塊,通常是做最後的收尾處理。如資料被 move 離開後樹狀節點應該收闔或額外處理之類的。可以在此區塊內使用 dnd.getOperation() 來探知現在是使用哪種模式。

其他資源:

  • DIALOG class
  • fgl control functions

Genero 2.50 新功能預覽

image

從 FourJS 的網頁中可以看到,新版的 Genero 2.50 已經快要結束 EAP 計畫 (Eealy Access Programs),Genero 項目下的工具都做了大幅度的功能新增【為了能夠盡可能的向前相容,比較少移除 (phase out) 功能】。

因此簡單的查看有哪些功能是在這個版本內新增的:

Genero BDL 2.50 :

  • 模組化的DIALOG指令:可以更方便的重複使用做出來的DIALOG片段
  • 畫面檔模組化:可以在指定的位置上嵌入畫面片段
  • 支援JSON:可以支持訊息傳輸常見的 JSON 格式
  • 新的CLEAR清除畫面指令:可以部份、指定位置的清除畫面資料
  • 更新的DISPLAY ARRAY控制區塊:可以支援更便捷的 TREE 操作
  • 新版的資料庫支持:PostgresSQL 9.2, IBM DB2 UDB10等 (不含SQL Server 2014)

Genero Studio 2.50 :

  • 新增支持Mac OSX作業系統,也新增多語言顯示模式
  • 新版的程式比對器

Genero Report (Writer) 2.50 :

  • 可以設計二維條碼崁入報表 (包含QR code)

以上的項目會跟隨著Genero 2.50 更新版本的發布而隨時異動調整,請各位在持續關注相關的訊息囉。(原始資料來源:Genero 2.50 EAP new open)