Grid Essentials. APEX 18.1 Interactive Grids. Karen Cannell TH Technology

Similar documents
Going to the Grid: What the APEX 5.1 Interactive Grid Means or You and Your Users. Karen Cannell

Oracle 12.2 Analytic Views:

Database Developers Forum APEX

What is Standard APEX? TOOLBOX FLAT DESIGN CARTOON PEOPLE

Oracle Application Express 5.1

Oracle JET in Oracle APEX Marc Sewtz Senior Software Development Manager Oracle America, Inc. New York, NY

Oracle Application Express 5 New Features

The Oracle APEX Community at-a-glance:

APEX_ITEM and Beyond. Greg Jarmiolowski. SQLPrompt LLC

Apex 5.1 Interactive Grid and Other New features

Oracle APEX Overview. May, Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Rapid Application Development with APEX 5.0

I, J, K. Eclipse, 156

Oracle APEX 18.1 New Features

Using RESTfull services and remote SQL

Building Custom UIs for APS 2.0 Applications. Timur Nizametdinov, APS Dynamic UI Lead Developer

Application Express Dynamic Duo

Oracle ADF 11g: New Declarative Validation, List of Values, and Search Features. Steve Muench Consulting Product Manager Oracle ADF Development Team

& ( ); INSERT INTO ( ) SELECT

Practic Pr al actic Dynamic Actions Intro Jorge Rimblas 1. 1

CSS & Troubleshooting IE6

MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB

Table Basics. The structure of an table

<Insert Picture Here>

Oracle Forms and Oracle APEX The Odd Couple

Rich Web UI made simple Building Data Dashboards without Code

DbSchema Forms and Reports Tutorial

Overview. Principal Product Manager Oracle JDeveloper & Oracle ADF

USER GUIDE. Biometric Attendance Software.

2010 SpearMC Consulting

DbSchema Forms and Reports Tutorial

Tactics to Tackle APEX Bugs

SAGE Computing Services. Trials & Tribulations of an Oracle Forms -> Apex Conversion

Day 1 Agenda. Brio 101 Training. Course Presentation and Reference Material

BindTuning Installations Instructions, Setup Guide. Invent Setup Guide

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

ENABLING WEBCHAT HOSTED USER GUIDE

APEX Times Ten Berichte. Tuning DB-Browser Datenmodellierung Schema Copy & Compare Data Grids. Extension Exchange.

Form into function. Getting prepared. Tutorial. Paul Jasper

VERSION JANUARY 19, 2015 TEST STUDIO QUICK-START GUIDE STANDALONE & VISUAL STUDIO PLUG-IN TELERIK A PROGRESS COMPANY

Customizing Web AppBuilder using Third Party Products. Presented to: Esri Canada Toronto UC Presented by: Maura Daffern October 11 th, 2018

Flint - Eclipse Based IDE User Manual

WELCOME. APEX Security Primer. About Enkitec. About the Presenter. ! Oracle Platinum Partner! Established in 2004

PL/SQL Developer 7.0 New Features. December 2005

Modern Requirements4TFS 2018 Update 1 Release Notes

APEX Unplugged Building Oracle Application Express Applications That Can Survive Without the Internet. Dan McGhan Senior Technical Consultant

Pick A Winner! In What Tool Should I Develop My Next App?

Configuring Ad hoc Reporting. Version: 16.0

Creating dependent menus with Moodle Database activity. William Lu

User Guide Using AuraPlayer

Advanced Dreamweaver CS6

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries

JSN PageBuilder 2 User Manual

Course Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL:

Objectives. After completing this lesson, you should be able to do the following:

Report Designer Report Types Table Report Multi-Column Report Label Report Parameterized Report Cross-Tab Report Drill-Down Report Chart with Static

ver Wfl Adobe lif Sams Teach Yourself Betsy Bruce Robyn Ness SAMS 800 East 96th Street, Indianapolis, Indiana, USA WlM John Ray ^lg^

ORACLE RDC ONSITE RESEARCH COORDINATOR TRAINING

Using Thick Database Principles to Leverage Oracle SQL and PL/SQL Part III:

Secure your APEX application

Web API Lab. The next two deliverables you shall write yourself.

Build Tizen HTML5 Apps w/ Sencha Architect & Sencha Touch

Course Syllabus. Course Title. Who should attend? Course Description. Adobe Dreamweaver CC 2014

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

Oracle APEX 19.1 The Golden Nuggets. Dietmar Aust Opal-Consulting, Köln

SQL Developer. 101: Features Overview. Jeff Smith Senior Principal Product Database Tools, Oracle Corp

Label Design Program Label Artist-II Manual Rev. 1.01

Best Practices for Choosing Content Reporting Tools and Datasources. Andrew Grohe Pentaho Director of Services Delivery, Hitachi Vantara

Adobe Dreamweaver CS6 Digital Classroom

PBwiki Basics Website:

Microsoft Office Illustrated. Using Tables

Ignite UI Release Notes

Wolf. Responsive Website Designer. Mac Edition User Guide

New in Designer 2.3. Contents. Highlights. Presets, Duplicate, API. pharoscontrols.com

Using Dreamweaver CC. Logo. 4 Creating a Template. Page Heading. Page content in this area. About Us Gallery Ordering Contact Us Links

Denes Kubicek. Oracle ACE APEX Developer of the Year 2008

Oracle Forms Developer 10g: Build Internet Applications

SpagoBI Worksheet Engine. Alessandra Toninelli 2013/11/13 11:58

Revision History Overview Feature Summary Knowledge Management Policy Automation Platform Agent Browser Workspaces Agent Browser Desktop Automation

Think like an Elm developer

XLCubed Version 9 QuickStart

<Insert Picture Here> Advanced ADF Faces. Frank Nimphius Principal Product Manager

OZONE Widget Framework

Student Manual. Cognos Analytics

User Manual instantolap

Innovasys HelpStudio 3 Product Data Sheet

5 Integrity Constraints and Triggers

ETC WEBCHAT USER GUIDE

PHP & PHP++ Curriculum

Eclipse Scout. Release Notes. Scout Team. Version 7.0

Drag and Drop Form Builder. Data Verity #2 Erikka Baker James Miller Jordan Schmerge

Instructions for the Monthly Trial and Final Payroll Verification

Documentation for the new Self Admin

Enriching Portal user experience using Dojo toolkit support in IBM Rational Application Developer v8 for IBM WebSphere Portal

Create-A-Page Design Documentation

WEBSITE INSTRUCTIONS

Vector Issue Tracker and License Manager - Administrator s Guide. Configuring and Maintaining Vector Issue Tracker and License Manager

FORMS. The Exciting World of Creating RSVPs and Gathering Information with Forms in ClickDimensions. Presented by: John Reamer

DEPLOYMENT & VISUALIZATION

MS Excel Advanced Level

Transcription:

Grid Essentials APEX 18.1 Interactive Grids Karen Cannell kcannell@thtechnology.com TH Technology

About Me TH Technology Oracle Consulting Services, APEX Focus Mechanical/SW Engineer - Analyzed, designed, developed, converted, upgraded, enhanced legacy & database applications for 30+ years Building Web/APEX applications for government, medical, engineering industries since HTMLDB beginnings Leveraging Oracle 10g,11g,12c,18 suite of tools Editor Emeritus, ODTUG Technical Journal Oracle Ace APress Author ODTUG Director

About You Oracle Technology? Years w APEX? APEX Versions? Interactive Reports and Tabular Forms? Customizations? Biggest Gripes?

Agenda Evolution Essentials Build/Upgrade ~Features ~ Oddities Extras (Advanced) JavaScript Customizations Wrapup Pros/Cons ~ Questions

In the Sandbox TH Technology

Out of the Sandbox TH Technology

Interactive Grid == Better Sandbox

Interactive Grid: to Build Evolution TH Technology

Evolution: Tabular Forms APEX 3 Bare Bones APEX 4.0 RadioGroup, PopUp LOV, Simple CB Declarative Validations APEX 4.1 :COLUMN References Improved Error Handling APEX 4.2, 5.0 No Major TF enhancements Major IR Rewrite APEX 5.1 Editable Interactive Grid (a Plugin) Beginning of Shift All Widgets

Interactive Grid (Interactive Report or Tabular Form) + <All the Features You Ever Wanted> (Thank You APEX Team!) ----------------------------------------- Interactive Grid

Direction Interactive Report Future Tabular Form Now Interactive Grid

IGrid Architecture Interactive Grid Under the Hood J Snyders http://hardlikesoftware.com/weblog/201 6/06/08/interactive-grid-under-the-hood/

Interactive Report Generates HTML on Server, part of Page Interactive Grid HTML Renders on Client Data Returned w UI Markup Data/Edits from Server via JSON One Big JS Module Collection of Widgets

Interactive Report Collections (pre 5.0) Browser Decides Column Width table-layout: auto; Interactive Grid Model Each Column is an Item Fixed Table Layout

Interactive Grid: to Build Essentials Build/Upgrade Features Oddities

Interactive Report Still There TH Technology

Interactive Grid Add image here looks pretty much the same

Column Widths Appearance Width Property Does Not Set Column Width Drag and Drop then Report Save Columns Resize Reorder Minimum Width Min Width vs Current Width

Editable Grid: to Build TH Technology

Tabular Forms == Legacy TH Technology

Editable Interactive Grid TH Technology

Editable TH Technology

What Is Editable Columns Display Only Rows Allowed Row Operations Set Column to Control Which Rows Are Editable

Lost Update Type Row Values Checksum of All Query-able Columns Column Value ex: DATE_UPDATED

Lost Updates, Lock Row Lock Row Adds FOR UPDATE NOWAIT See Reference ~ Matt Mulvaney http://www.explorer.uk.com/apex-interactive-gridpreventing-lost-updates-record-locking/

Who Can Edit (Authorizations) TH Technology

If Editable Set a PK Set Reload on Submit Only On Success

Edit: Set One Column as a Primary Key

Edit: Page Reload on Submit TH Technology

Row Selector TH Technology

Working w the Row Selector JavaScript

APEX$ROW_SELECTOR PL/SQL Same as Tab Form: BEGIN IF :APEX$ROW_SELECTOR = X THEN -- your processing goes here DELETE FROM EMP WHERE EMPNO = :ID; END IF; END;

Row Action Menu TH Technology

Save Interactive Grid Data TH Technology

More Editable Grid Details: to Build Master-Detail, Cascading LOV, Dyn Actions, 32K Limit TH Technology

Master-Detail Create Master Grid Create Detail Grid Set PKs for Both On Detail Grid, Link via Master Region Disable Detail Grid Save Button

Cascading LOV Just Like Page Item to Page Item

SELECT apex_item.checkbox (30, seq_id, 'onclick="highlight_row(this,' seq_id ')"', NULL, ':', 'f30_' LPAD (seq_id, 4, '0') ) delete_checkbox, apex_item.hidden (31, seq_id) apex_item.select_list_from_query (32, c001, 'SELECT dname d, ' 'deptno r FROM eba_demo_tf_dept', 'style="width:220px" ' 'onchange="f_set_casc_sel_list_item(this,' 'f33_' LPAD (seq_id, 4, '0') ')"', 'YES', '0', '- Select Department -', 'f32_' LPAD (seq_id, 4, '0'), NULL, 'NO' ) deptno, apex_item.select_list_from_query (33, c002, 'SELECT ename d, ' 'empno r FROM eba_demo_tf_emp ' 'WHERE deptno = ' c001, 'style="width:220px"', 'YES', '0', '- Select Employee (' (SELECT COUNT (*) FROM eba_demo_tf_emp WHERE deptno = c001) ') -', 'f33_' LPAD (seq_id, 4, '0'), NULL, 'NO' ) employee FROM apex_collections WHERE collection_name = 'DEPT_EMP' UNION ALL SELECT apex_item.checkbox (30, NULL, 'onclick="highlight_row(this,' TO_NUMBER (9900 + LEVEL) ')"', NULL, ':', 'f30_' LPAD (9900 + LEVEL, 4, '0') ) delete_checkbox, apex_item.hidden (31, NULL) apex_item.select_list_from_query (32, 0, 'SELECT dname d, ' 'deptno r FROM eba_demo_tf_dept', 'style="width:220px" ' 'onchange="f_set_casc_sel_list_item(this,' 'f33_' LPAD (9900 + LEVEL, 4, '0') ')"', 'YES', '0', '- Select Department -', 'f32_' LPAD (9900 + LEVEL, 4, '0'), NULL, 'NO' ) deptno, apex_item.select_list_from_query (33, NULL, 'SELECT ename d, ' 'empno r FROM eba_demo_tf_emp ' 'WHERE deptno = ' 0, 'style="width:220px"', 'YES', '0', '- Select Employee (0) -', 'f33_' LPAD (9900 + LEVEL, 4, '0'), NULL, 'NO' ) employee FROM DUAL WHERE :request = 'ADD_ROWS' CONNECT BY LEVEL = 2 Before (APEX 4.2) TH Technology

After (APEX 5.1+) TH Technology

32K Row Limit footer

Dynamic Action Just Like On a Page Item Conditions/Action Reference Any Column In Row Cannot Reference Element in Other Rows

Validations (Overview!) :COLUMN_NAME References Similar to 4.2 Tab Form On Submit Dynamic Actions Column Option HTML5 Form Validation Required Pattern Min, Max (Numbers) In Custom Attributes

Validation Dyn Action JS

id validity attribute footer

ids validity attribute

footer TH Technology

JS: Access Grid, Model, Record TH Technology

Ugly Error Messages TH Technology

Upgrading to Grid: to Build IR to Grid, Tabular Form to Grid

HOW WHEN Upgrade Interactive Reports? Change Region Type Standard, No Frills Users YES Considerations Pivot Computed Customized Logic Drills To IRs

HOW WHEN Upgrade Tabular Forms? Upgrade Utility May Need Rework Standard YES Non-Standard Maintain vs Rebuild Rebuild is Relatively Quick Rebuild is Cleaner

What Will Upgrade? Keys Off ApplyMRU, ApplyMRD Tries! Custom Embedded Javascript Custom Processes

Manual Upgrade Steps Backup Change Region Type to I-Grid Delete Old Buttons (you will Replace Them) Set the Page Attribute Advanced > Reload on Submit = Only for Success Set Region Attribute Edit Enabled to Yes Check for ROWID I-Grid uses its own Remove Yours Check Lost Updates Check Validations Check Processes Save Interactive Grid Data Process Rebuild Buttons TEST TEST TEST

CREATE A BACKUP! TEST AN UPGRADE FIRST REBUILDING IS OFTEN FASTER

Interactive Grid: Extras to Build Advanced: JS Customizations for Menus, Toolbars and More

Customization Options Same For Editable/Non-Editable Toolbar Action Menu Column Heading Menu Row Actions Menu

Customizations Advanced JavaScript Code Grid Grid Menus Column Column Menu (Most of the Time ) Read Widget JS Files to Learn What is Possible Read Hardlikesoftware.com No Longer PL/SQL Collections ~ Now JavaScript

Grid Plugins Extend IG Toolbar https://apex.oracle.com/pls/apex/f?p= apexbyg:extendigtoolbar

So What (Else) Can I Do? From the JavaScript console type: apex.region( igrid_id").widget().interactivegrid("option","config")

TH Technology

Customization Examples Change Toolbar Change Column Heading Menu Change RowAction Menu Change Toolbar Actions Menu Global Settings

Change Toolbar TH Technology

Change Toolbar Goes in Grid Advanced JavaScript

Combine Stuff TH Technology

Change Column Heading Menu TH Technology

Change Column Heading Menu Goes in Column Advanced JavaScript

Change Column Heading Menu TH Technology

Change RowAction Menu TH Technology

Change RowAction Menu Goes in Page JavaScript

Access the Model TH Technology

Change Toolbar Actions Menu TH Technology

Change Toolbar Actions Menu Goes in Grid Advanced JavaScript

Global Settings JS Function in JS File Include File Reference JS Function in Advanced JavaScript Code Add Classes on Grids

<< code example>> << Demo app w common settings >>

greport.search Equivalent TH Technology

Custom: Edit via Dialog IG Cookbook Application Edits in Dialog Changed Row Actions Advanced, Possibilities!

Interactive Grid: Wrapup to Build Pros, Cons, Discussion TH Technology

Upgrade or Not? Standard Customized Little Use High Volume Customized Important

Best to Rebuild When Low/Reasonable Volume of Tabular Forms to Upgrade All Features Have a Declarative Equivalent in Interactive Grid No Sense to Upgrade to Make Extensive Customizations

Challenge Homework Sample Interactive Grid App IG Cookbook http://www.hardlikesoftware.com Read the JS Widget Code <apex_install_dir>/images/libraries/apex PLAY

Comments? Questions? Thank You! Karen Cannell kcannell@thtechnology.com @thtechnology

Resources Sample Interactive Grids APEX 5.1 Sample Application, Editing section Interactive Grids Under the Hood http://hardlikesoftware.com/weblog/2016/06/08/interactive-grid-under-thehood/ Interactive Grid Column Widths http://hardlikesoftware.com/weblog/2017/01/06/interactive-grid-columnwidths/ How to Hack Interactive Grids, Parts I thru IV http://hardlikesoftware.com/weblog/2017/01/18/how-to-hack-apex-interactive-gridpart-1/ APEX: Updating Interactive Grid Cells https://ruepprich.wordpress.com/2017/03/09/apex-updating-interactive-grid-cells/

Resources, cont d APEX Client-Side Validation http://hardlikesoftware.com/weblog/2017/05/10/apex-client-sidevalidation/#more-615 Interactive Grid Extend Toolbar Plugin https://github.com/mgoricki/apex-plugin-extend-ig-toolbar APEX Grid Preventing Lost Updates http://www.explorer.uk.com/apex-interactive-grid-preventing-lostupdates-record-locking/ Editable Grid, PL/SQL Process https://apex.oracle.com/pls/apex/germancommunities/apexcommunity /tipp/6361/index-en.html