SlideShare a Scribd company logo
1 of 19
Download to read offline
Using Datawindow as
Tile Menu UI Component
zulmach@pbdev.id
pbdev.id coexist
Friday, 31 Januari 2020 | Maxx Cofee Cideng, Jakarta Barat
Tile Menu as one of UI Component
• Basic Idea
• Why Datawindow
• How to Create
• How to Implement it
• Other Possibilities
Basic Idea
• Kind of Cute
• So many already available
• None is free
• None is Native PB Object
• usually OCX, OLE Object or uses PBNI
• Not easy to distribute
• None is compatible with Appeon Web/Mobile
• Only need the SIMPLEST yet NICE LOOKING
• Don’t want too many script to write (copy/paste)
Why Datawindow
• Data centric : rows & columns
• Can put controls as Window
• Powerful DW Expression
• Support expression for many properties
• Controls Behaviour can be based on data
How to Create
Step by step
Create New N-Up Datawindow Object
• Create Datawindow Object N-Up presentation Style
• Columns : icon (string), title (string), visible (number), size (number)
• This example with 6 rows per detail
Clean Up
• Clean up datawindow from columns and text,
select all and delete from the layout
Create Rectangles
• Create rectangles : r_dw, r_width, r_gutter as size reference
put them in header band
• Create 6 rectangles for the tile’s base, put them in detail band
Set r_1 to r_6 properties using expression
Control Visible Height Width
r_1 visible[0] long(describe
("r_width.width"))-40
size[0] * (long(describe("r_width.width"))) +
(size[0] -1) * (long(describe("r_gutter.width")))
r_2 visible[1] long(describe
("r_width.width"))-40
size[1] * (long(describe("r_width.width"))) +
(size[1] -1) * (long(describe("r_gutter.width")))
r_3 visible[2] long(describe
("r_width.width"))-40
size[2] * (long(describe("r_width.width"))) +
(size[2] -1) * (long(describe("r_gutter.width")))
r_4 visible[3] long(describe
("r_width.width"))-40
size[3] * (long(describe("r_width.width"))) +
(size[3] -1) * (long(describe("r_gutter.width")))
r_5 visible[4] long(describe
("r_width.width"))-40
size[4] * (long(describe("r_width.width"))) +
(size[4] -1) * (long(describe("r_gutter.width")))
r_6 visible[5] long(describe
("r_width.width"))-40
size[5] * (long(describe("r_width.width"))) +
(size[5] -1) * (long(describe("r_gutter.width")))
Set r_1 to r_6 properties using expression
Control y x
r_1 long(describe("r_gutt
er.width"))
long(describe("r_gutter.width"))
r_2 long(describe("r_gutt
er.width"))
long(describe("r_gutter.width")) * 2 +
size[0] * (long(describe("r_width.width"))) +
(size[0] -1) * (long(describe("r_gutter.width")))
r_3 long(describe("r_gutt
er.width"))
long(describe("r_gutter.width")) * 3+
size[0] * (long(describe("r_width.width"))) +
(size[0] -1) * (long(describe("r_gutter.width"))) +
size[1] * (long(describe("r_width.width"))) +
(size[1] -1) * (long(describe("r_gutter.width")))
r_4 long(describe("r_gutt
er.width"))
long(describe("r_gutter.width")) * 4+
size[0] * (long(describe("r_width.width"))) +
(size[0] -1) * (long(describe("r_gutter.width"))) +
size[1] * (long(describe("r_width.width"))) +
(size[1] -1) * (long(describe("r_gutter.width"))) +
size[2] * (long(describe("r_width.width"))) +
(size[2] -1) * (long(describe("r_gutter.width")))
Set r_1 to r_6 properties using expression
Control y x
r_5 long(describe("r_gutter
.width"))
long(describe("r_gutter.width")) * 5+
size[0] * (long(describe("r_width.width"))) +
(size[0] -1) * (long(describe("r_gutter.width"))) +
size[1] * (long(describe("r_width.width"))) +
(size[1] -1) * (long(describe("r_gutter.width"))) +
size[2] * (long(describe("r_width.width"))) +
(size[2] -1) * (long(describe("r_gutter.width"))) +
size[3] * (long(describe("r_width.width"))) +
(size[3] -1) * (long(describe("r_gutter.width")))
r_6 long(describe("r_gutter
.width"))
long(describe("r_gutter.width")) * 6+
size[0] * (long(describe("r_width.width"))) +
(size[0] -1) * (long(describe("r_gutter.width"))) +
size[1] * (long(describe("r_width.width"))) +
(size[1] -1) * (long(describe("r_gutter.width"))) +
size[2] * (long(describe("r_width.width"))) +
(size[2] -1) * (long(describe("r_gutter.width"))) +
size[3] * (long(describe("r_width.width"))) +
(size[3] -1) * (long(describe("r_gutter.width"))) +
size[4] * (long(describe("r_width.width"))) +
(size[4] -1) * (long(describe("r_gutter.width")))
Create 6 Computed Field for icon placeholder
Control Expression
c_1 bitmap ( icon[0] )
c_2 bitmap ( icon[1] )
c_3 bitmap ( icon[2] )
c_4 bitmap ( icon[3] )
c_5 bitmap ( icon[4] )
c_6 bitmap ( icon[5] )
Do the same thing
• Copy and modified all the dwexpression for x,y,width,and height
properties from the r_1 to r_6 for :
• Icon
• title
Try out by adding datarows
How to implement
• put a
datawindow
dw_tile control
on your window
• Add new user
event on dw_tile
that map to
system event ID :
pbm_dwnlbutto
nup named it
ue_mouse up
Write the Script
And This is how it looks
Download Datawindow Object Source Code
https://zulmach.wordpress.com/2
020/01/18/tile-menu-using-
datawindow-object
• Thank You
• Question and Answer
• Email : zulmach@pbdev.id
• Linkedin : www.linkedin.com/in/zulmach
• Youtube : www.youtube.com/c/pemulapb
• Whatsap : +628155555368
Q&A

More Related Content

What's hot

PMK no 12 tahun 2012 tentang akreditasi rumah sakit
PMK no 12 tahun 2012 tentang akreditasi rumah sakitPMK no 12 tahun 2012 tentang akreditasi rumah sakit
PMK no 12 tahun 2012 tentang akreditasi rumah sakitNasiatul Salim
 
BUKU Surveilans difteri 0701.pdf
BUKU Surveilans difteri  0701.pdfBUKU Surveilans difteri  0701.pdf
BUKU Surveilans difteri 0701.pdfHary Satrisno
 
Keterampilan dasar kebidanan 1 - Homeostasis dan Homeodinamik
Keterampilan dasar kebidanan 1 - Homeostasis dan HomeodinamikKeterampilan dasar kebidanan 1 - Homeostasis dan Homeodinamik
Keterampilan dasar kebidanan 1 - Homeostasis dan HomeodinamikKiki Evi Wahyuliana
 
Persentasi promkes penyakit gatal gatal
Persentasi promkes penyakit gatal gatalPersentasi promkes penyakit gatal gatal
Persentasi promkes penyakit gatal gatalAfiz EncekBasri
 
faktor faktor yang mempengaruhi derajat kesehatan masyarakat
faktor faktor yang mempengaruhi derajat kesehatan masyarakatfaktor faktor yang mempengaruhi derajat kesehatan masyarakat
faktor faktor yang mempengaruhi derajat kesehatan masyarakatrisdiana21
 
RENCANA PEMBELAJARAN SEMESTER FALSAFAH DAN TEORI KEPERAWATAN
RENCANA PEMBELAJARAN SEMESTER FALSAFAH DAN TEORI KEPERAWATANRENCANA PEMBELAJARAN SEMESTER FALSAFAH DAN TEORI KEPERAWATAN
RENCANA PEMBELAJARAN SEMESTER FALSAFAH DAN TEORI KEPERAWATANekobudisantoso17
 
Penyakit pada selaput paru paru
Penyakit pada selaput paru paruPenyakit pada selaput paru paru
Penyakit pada selaput paru paruZul Coy
 
3 komplikasi transfusi darah
3 komplikasi transfusi darah3 komplikasi transfusi darah
3 komplikasi transfusi darahriski albughari
 
PELAKSANAAN PROGRAM KESEHATAN.ppt
PELAKSANAAN PROGRAM KESEHATAN.pptPELAKSANAAN PROGRAM KESEHATAN.ppt
PELAKSANAAN PROGRAM KESEHATAN.pptTriEvelina1
 
Infeksi Nosokomial atau Healthcare Associated Infections (HAIs)
Infeksi Nosokomial atau Healthcare Associated Infections (HAIs) Infeksi Nosokomial atau Healthcare Associated Infections (HAIs)
Infeksi Nosokomial atau Healthcare Associated Infections (HAIs) pjj_kemenkes
 
Analisis jurnal pico Suhu Tubuh Pada Pasien Demam Dengan Menggunakan Metode T...
Analisis jurnal pico Suhu Tubuh Pada Pasien Demam Dengan Menggunakan Metode T...Analisis jurnal pico Suhu Tubuh Pada Pasien Demam Dengan Menggunakan Metode T...
Analisis jurnal pico Suhu Tubuh Pada Pasien Demam Dengan Menggunakan Metode T...Julianti Mursidi
 
Asuhan keperawatan komunitas masyarakat urban
Asuhan keperawatan komunitas masyarakat urbanAsuhan keperawatan komunitas masyarakat urban
Asuhan keperawatan komunitas masyarakat urbanheri damanik
 

What's hot (20)

Soal dan Jawaban Bakteriologi
Soal dan Jawaban BakteriologiSoal dan Jawaban Bakteriologi
Soal dan Jawaban Bakteriologi
 
PMK no 12 tahun 2012 tentang akreditasi rumah sakit
PMK no 12 tahun 2012 tentang akreditasi rumah sakitPMK no 12 tahun 2012 tentang akreditasi rumah sakit
PMK no 12 tahun 2012 tentang akreditasi rumah sakit
 
Rps komunitas 2
Rps komunitas 2Rps komunitas 2
Rps komunitas 2
 
BUKU Surveilans difteri 0701.pdf
BUKU Surveilans difteri  0701.pdfBUKU Surveilans difteri  0701.pdf
BUKU Surveilans difteri 0701.pdf
 
Konsep epidemiologi
Konsep epidemiologiKonsep epidemiologi
Konsep epidemiologi
 
Keterampilan dasar kebidanan 1 - Homeostasis dan Homeodinamik
Keterampilan dasar kebidanan 1 - Homeostasis dan HomeodinamikKeterampilan dasar kebidanan 1 - Homeostasis dan Homeodinamik
Keterampilan dasar kebidanan 1 - Homeostasis dan Homeodinamik
 
Leaflet dower kateter bhb
Leaflet dower kateter bhbLeaflet dower kateter bhb
Leaflet dower kateter bhb
 
Persentasi promkes penyakit gatal gatal
Persentasi promkes penyakit gatal gatalPersentasi promkes penyakit gatal gatal
Persentasi promkes penyakit gatal gatal
 
Domain perilaku
Domain perilakuDomain perilaku
Domain perilaku
 
faktor faktor yang mempengaruhi derajat kesehatan masyarakat
faktor faktor yang mempengaruhi derajat kesehatan masyarakatfaktor faktor yang mempengaruhi derajat kesehatan masyarakat
faktor faktor yang mempengaruhi derajat kesehatan masyarakat
 
RENCANA PEMBELAJARAN SEMESTER FALSAFAH DAN TEORI KEPERAWATAN
RENCANA PEMBELAJARAN SEMESTER FALSAFAH DAN TEORI KEPERAWATANRENCANA PEMBELAJARAN SEMESTER FALSAFAH DAN TEORI KEPERAWATAN
RENCANA PEMBELAJARAN SEMESTER FALSAFAH DAN TEORI KEPERAWATAN
 
Penyakit pada selaput paru paru
Penyakit pada selaput paru paruPenyakit pada selaput paru paru
Penyakit pada selaput paru paru
 
Tb paru amar
Tb paru amarTb paru amar
Tb paru amar
 
3 komplikasi transfusi darah
3 komplikasi transfusi darah3 komplikasi transfusi darah
3 komplikasi transfusi darah
 
PELAKSANAAN PROGRAM KESEHATAN.ppt
PELAKSANAAN PROGRAM KESEHATAN.pptPELAKSANAAN PROGRAM KESEHATAN.ppt
PELAKSANAAN PROGRAM KESEHATAN.ppt
 
Sap gastritis
Sap gastritisSap gastritis
Sap gastritis
 
Infeksi Nosokomial atau Healthcare Associated Infections (HAIs)
Infeksi Nosokomial atau Healthcare Associated Infections (HAIs) Infeksi Nosokomial atau Healthcare Associated Infections (HAIs)
Infeksi Nosokomial atau Healthcare Associated Infections (HAIs)
 
Analisis jurnal pico Suhu Tubuh Pada Pasien Demam Dengan Menggunakan Metode T...
Analisis jurnal pico Suhu Tubuh Pada Pasien Demam Dengan Menggunakan Metode T...Analisis jurnal pico Suhu Tubuh Pada Pasien Demam Dengan Menggunakan Metode T...
Analisis jurnal pico Suhu Tubuh Pada Pasien Demam Dengan Menggunakan Metode T...
 
Asuhan keperawatan komunitas masyarakat urban
Asuhan keperawatan komunitas masyarakat urbanAsuhan keperawatan komunitas masyarakat urban
Asuhan keperawatan komunitas masyarakat urban
 
Makalah sistem saraf
Makalah sistem sarafMakalah sistem saraf
Makalah sistem saraf
 

Similar to Tile Menu Using Datawindow Object

#PowerBuilder #tile #menu using #Datawindow
#PowerBuilder #tile #menu using #Datawindow#PowerBuilder #tile #menu using #Datawindow
#PowerBuilder #tile #menu using #Datawindowzulmach .
 
R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011Mandi Walls
 
Edição de Texto Rico com React e Draft.js
Edição de Texto Rico com React e Draft.jsEdição de Texto Rico com React e Draft.js
Edição de Texto Rico com React e Draft.jsGuilherme Vierno
 
CuRious about R in Power BI? End to end R in Power BI for beginners
CuRious about R in Power BI? End to end R in Power BI for beginners CuRious about R in Power BI? End to end R in Power BI for beginners
CuRious about R in Power BI? End to end R in Power BI for beginners Jen Stirrup
 
The Grid the Brad and the Ugly: Using Grids to Improve Your Applications
The Grid the Brad and the Ugly: Using Grids to Improve Your ApplicationsThe Grid the Brad and the Ugly: Using Grids to Improve Your Applications
The Grid the Brad and the Ugly: Using Grids to Improve Your Applicationsbalassaitis
 
Learn D3.js in 90 minutes
Learn D3.js in 90 minutesLearn D3.js in 90 minutes
Learn D3.js in 90 minutesJos Dirksen
 
R Programming - part 1.pdf
R Programming - part 1.pdfR Programming - part 1.pdf
R Programming - part 1.pdfRohanBorgalli
 
Techwave 2006 Advanced Datawindow Functionality
Techwave 2006 Advanced Datawindow FunctionalityTechwave 2006 Advanced Datawindow Functionality
Techwave 2006 Advanced Datawindow FunctionalityBuck Woolley
 
Techwave 2006 Advanced Datawindow Techniques
Techwave 2006 Advanced Datawindow TechniquesTechwave 2006 Advanced Datawindow Techniques
Techwave 2006 Advanced Datawindow TechniquesBuck Woolley
 
Migrating from matlab to python
Migrating from matlab to pythonMigrating from matlab to python
Migrating from matlab to pythonActiveState
 
Types and Immutability: why you should care
Types and Immutability: why you should careTypes and Immutability: why you should care
Types and Immutability: why you should careJean Carlo Emer
 
C++ process new
C++ process newC++ process new
C++ process new敬倫 林
 
CS101- Introduction to Computing- Lecture 35
CS101- Introduction to Computing- Lecture 35CS101- Introduction to Computing- Lecture 35
CS101- Introduction to Computing- Lecture 35Bilal Ahmed
 
Visualization of Big Data in Web Apps
Visualization of Big Data in Web AppsVisualization of Big Data in Web Apps
Visualization of Big Data in Web AppsEPAM
 
Data Analytics with R and SQL Server
Data Analytics with R and SQL ServerData Analytics with R and SQL Server
Data Analytics with R and SQL ServerStéphane Fréchette
 

Similar to Tile Menu Using Datawindow Object (20)

#PowerBuilder #tile #menu using #Datawindow
#PowerBuilder #tile #menu using #Datawindow#PowerBuilder #tile #menu using #Datawindow
#PowerBuilder #tile #menu using #Datawindow
 
R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011
 
Edição de Texto Rico com React e Draft.js
Edição de Texto Rico com React e Draft.jsEdição de Texto Rico com React e Draft.js
Edição de Texto Rico com React e Draft.js
 
CuRious about R in Power BI? End to end R in Power BI for beginners
CuRious about R in Power BI? End to end R in Power BI for beginners CuRious about R in Power BI? End to end R in Power BI for beginners
CuRious about R in Power BI? End to end R in Power BI for beginners
 
The Grid the Brad and the Ugly: Using Grids to Improve Your Applications
The Grid the Brad and the Ugly: Using Grids to Improve Your ApplicationsThe Grid the Brad and the Ugly: Using Grids to Improve Your Applications
The Grid the Brad and the Ugly: Using Grids to Improve Your Applications
 
Learn D3.js in 90 minutes
Learn D3.js in 90 minutesLearn D3.js in 90 minutes
Learn D3.js in 90 minutes
 
R Programming - part 1.pdf
R Programming - part 1.pdfR Programming - part 1.pdf
R Programming - part 1.pdf
 
Techwave 2006 Advanced Datawindow Functionality
Techwave 2006 Advanced Datawindow FunctionalityTechwave 2006 Advanced Datawindow Functionality
Techwave 2006 Advanced Datawindow Functionality
 
Techwave 2006 Advanced Datawindow Techniques
Techwave 2006 Advanced Datawindow TechniquesTechwave 2006 Advanced Datawindow Techniques
Techwave 2006 Advanced Datawindow Techniques
 
Python lecture 05
Python lecture 05Python lecture 05
Python lecture 05
 
C
CC
C
 
R tutorial (R program 101)
R tutorial (R program 101)R tutorial (R program 101)
R tutorial (R program 101)
 
Migrating from matlab to python
Migrating from matlab to pythonMigrating from matlab to python
Migrating from matlab to python
 
Types and Immutability: why you should care
Types and Immutability: why you should careTypes and Immutability: why you should care
Types and Immutability: why you should care
 
An Intoduction to R
An Intoduction to RAn Intoduction to R
An Intoduction to R
 
Ggplot2 v3
Ggplot2 v3Ggplot2 v3
Ggplot2 v3
 
C++ process new
C++ process newC++ process new
C++ process new
 
CS101- Introduction to Computing- Lecture 35
CS101- Introduction to Computing- Lecture 35CS101- Introduction to Computing- Lecture 35
CS101- Introduction to Computing- Lecture 35
 
Visualization of Big Data in Web Apps
Visualization of Big Data in Web AppsVisualization of Big Data in Web Apps
Visualization of Big Data in Web Apps
 
Data Analytics with R and SQL Server
Data Analytics with R and SQL ServerData Analytics with R and SQL Server
Data Analytics with R and SQL Server
 

More from zulmach .

PowerBuilder Short Logic : Loop
PowerBuilder Short Logic : LoopPowerBuilder Short Logic : Loop
PowerBuilder Short Logic : Loopzulmach .
 
PowerBuilder Productive programming
PowerBuilder Productive programmingPowerBuilder Productive programming
PowerBuilder Productive programmingzulmach .
 
PowerBuilder Productive programming
PowerBuilder Productive programmingPowerBuilder Productive programming
PowerBuilder Productive programmingzulmach .
 
Cara memperkecil ukuran maksimum kapasitas VM Disk
Cara memperkecil ukuran maksimum kapasitas VM DiskCara memperkecil ukuran maksimum kapasitas VM Disk
Cara memperkecil ukuran maksimum kapasitas VM Diskzulmach .
 
Cara print ke lokal printer dari remote any desk
Cara print ke lokal printer dari remote any deskCara print ke lokal printer dari remote any desk
Cara print ke lokal printer dari remote any deskzulmach .
 
How to create sliding window hamburger menu style in Powerbuilder
How to create sliding window hamburger menu style in PowerbuilderHow to create sliding window hamburger menu style in Powerbuilder
How to create sliding window hamburger menu style in Powerbuilderzulmach .
 
Membuat left side menu hamburger style
Membuat left side menu hamburger styleMembuat left side menu hamburger style
Membuat left side menu hamburger stylezulmach .
 
Sharing Tentang Implementasi Sistem Rumah Sakit
Sharing Tentang Implementasi Sistem Rumah SakitSharing Tentang Implementasi Sistem Rumah Sakit
Sharing Tentang Implementasi Sistem Rumah Sakitzulmach .
 
Creating Modern UI PowerBuilder Framework using native objects
Creating Modern UI PowerBuilder Framework using native objectsCreating Modern UI PowerBuilder Framework using native objects
Creating Modern UI PowerBuilder Framework using native objectszulmach .
 
Fastest Path to Dekstop, Web and Mobile Enterprise Business Application Platform
Fastest Path to Dekstop, Web and Mobile Enterprise Business Application PlatformFastest Path to Dekstop, Web and Mobile Enterprise Business Application Platform
Fastest Path to Dekstop, Web and Mobile Enterprise Business Application Platformzulmach .
 
Sistem bisnis dan manajemen rumah sakit
Sistem bisnis dan manajemen rumah sakitSistem bisnis dan manajemen rumah sakit
Sistem bisnis dan manajemen rumah sakitzulmach .
 
Sistem Bisnis dan Manajemen Rumah Sakit
Sistem Bisnis dan Manajemen Rumah SakitSistem Bisnis dan Manajemen Rumah Sakit
Sistem Bisnis dan Manajemen Rumah Sakitzulmach .
 
PowerBuilder 11 .Net Application Deployment
PowerBuilder 11 .Net Application DeploymentPowerBuilder 11 .Net Application Deployment
PowerBuilder 11 .Net Application Deploymentzulmach .
 

More from zulmach . (13)

PowerBuilder Short Logic : Loop
PowerBuilder Short Logic : LoopPowerBuilder Short Logic : Loop
PowerBuilder Short Logic : Loop
 
PowerBuilder Productive programming
PowerBuilder Productive programmingPowerBuilder Productive programming
PowerBuilder Productive programming
 
PowerBuilder Productive programming
PowerBuilder Productive programmingPowerBuilder Productive programming
PowerBuilder Productive programming
 
Cara memperkecil ukuran maksimum kapasitas VM Disk
Cara memperkecil ukuran maksimum kapasitas VM DiskCara memperkecil ukuran maksimum kapasitas VM Disk
Cara memperkecil ukuran maksimum kapasitas VM Disk
 
Cara print ke lokal printer dari remote any desk
Cara print ke lokal printer dari remote any deskCara print ke lokal printer dari remote any desk
Cara print ke lokal printer dari remote any desk
 
How to create sliding window hamburger menu style in Powerbuilder
How to create sliding window hamburger menu style in PowerbuilderHow to create sliding window hamburger menu style in Powerbuilder
How to create sliding window hamburger menu style in Powerbuilder
 
Membuat left side menu hamburger style
Membuat left side menu hamburger styleMembuat left side menu hamburger style
Membuat left side menu hamburger style
 
Sharing Tentang Implementasi Sistem Rumah Sakit
Sharing Tentang Implementasi Sistem Rumah SakitSharing Tentang Implementasi Sistem Rumah Sakit
Sharing Tentang Implementasi Sistem Rumah Sakit
 
Creating Modern UI PowerBuilder Framework using native objects
Creating Modern UI PowerBuilder Framework using native objectsCreating Modern UI PowerBuilder Framework using native objects
Creating Modern UI PowerBuilder Framework using native objects
 
Fastest Path to Dekstop, Web and Mobile Enterprise Business Application Platform
Fastest Path to Dekstop, Web and Mobile Enterprise Business Application PlatformFastest Path to Dekstop, Web and Mobile Enterprise Business Application Platform
Fastest Path to Dekstop, Web and Mobile Enterprise Business Application Platform
 
Sistem bisnis dan manajemen rumah sakit
Sistem bisnis dan manajemen rumah sakitSistem bisnis dan manajemen rumah sakit
Sistem bisnis dan manajemen rumah sakit
 
Sistem Bisnis dan Manajemen Rumah Sakit
Sistem Bisnis dan Manajemen Rumah SakitSistem Bisnis dan Manajemen Rumah Sakit
Sistem Bisnis dan Manajemen Rumah Sakit
 
PowerBuilder 11 .Net Application Deployment
PowerBuilder 11 .Net Application DeploymentPowerBuilder 11 .Net Application Deployment
PowerBuilder 11 .Net Application Deployment
 

Recently uploaded

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Recently uploaded (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

Tile Menu Using Datawindow Object

  • 1. Using Datawindow as Tile Menu UI Component zulmach@pbdev.id pbdev.id coexist Friday, 31 Januari 2020 | Maxx Cofee Cideng, Jakarta Barat
  • 2. Tile Menu as one of UI Component • Basic Idea • Why Datawindow • How to Create • How to Implement it • Other Possibilities
  • 3. Basic Idea • Kind of Cute • So many already available • None is free • None is Native PB Object • usually OCX, OLE Object or uses PBNI • Not easy to distribute • None is compatible with Appeon Web/Mobile • Only need the SIMPLEST yet NICE LOOKING • Don’t want too many script to write (copy/paste)
  • 4. Why Datawindow • Data centric : rows & columns • Can put controls as Window • Powerful DW Expression • Support expression for many properties • Controls Behaviour can be based on data
  • 6. Create New N-Up Datawindow Object • Create Datawindow Object N-Up presentation Style • Columns : icon (string), title (string), visible (number), size (number) • This example with 6 rows per detail
  • 7. Clean Up • Clean up datawindow from columns and text, select all and delete from the layout
  • 8. Create Rectangles • Create rectangles : r_dw, r_width, r_gutter as size reference put them in header band • Create 6 rectangles for the tile’s base, put them in detail band
  • 9. Set r_1 to r_6 properties using expression Control Visible Height Width r_1 visible[0] long(describe ("r_width.width"))-40 size[0] * (long(describe("r_width.width"))) + (size[0] -1) * (long(describe("r_gutter.width"))) r_2 visible[1] long(describe ("r_width.width"))-40 size[1] * (long(describe("r_width.width"))) + (size[1] -1) * (long(describe("r_gutter.width"))) r_3 visible[2] long(describe ("r_width.width"))-40 size[2] * (long(describe("r_width.width"))) + (size[2] -1) * (long(describe("r_gutter.width"))) r_4 visible[3] long(describe ("r_width.width"))-40 size[3] * (long(describe("r_width.width"))) + (size[3] -1) * (long(describe("r_gutter.width"))) r_5 visible[4] long(describe ("r_width.width"))-40 size[4] * (long(describe("r_width.width"))) + (size[4] -1) * (long(describe("r_gutter.width"))) r_6 visible[5] long(describe ("r_width.width"))-40 size[5] * (long(describe("r_width.width"))) + (size[5] -1) * (long(describe("r_gutter.width")))
  • 10. Set r_1 to r_6 properties using expression Control y x r_1 long(describe("r_gutt er.width")) long(describe("r_gutter.width")) r_2 long(describe("r_gutt er.width")) long(describe("r_gutter.width")) * 2 + size[0] * (long(describe("r_width.width"))) + (size[0] -1) * (long(describe("r_gutter.width"))) r_3 long(describe("r_gutt er.width")) long(describe("r_gutter.width")) * 3+ size[0] * (long(describe("r_width.width"))) + (size[0] -1) * (long(describe("r_gutter.width"))) + size[1] * (long(describe("r_width.width"))) + (size[1] -1) * (long(describe("r_gutter.width"))) r_4 long(describe("r_gutt er.width")) long(describe("r_gutter.width")) * 4+ size[0] * (long(describe("r_width.width"))) + (size[0] -1) * (long(describe("r_gutter.width"))) + size[1] * (long(describe("r_width.width"))) + (size[1] -1) * (long(describe("r_gutter.width"))) + size[2] * (long(describe("r_width.width"))) + (size[2] -1) * (long(describe("r_gutter.width")))
  • 11. Set r_1 to r_6 properties using expression Control y x r_5 long(describe("r_gutter .width")) long(describe("r_gutter.width")) * 5+ size[0] * (long(describe("r_width.width"))) + (size[0] -1) * (long(describe("r_gutter.width"))) + size[1] * (long(describe("r_width.width"))) + (size[1] -1) * (long(describe("r_gutter.width"))) + size[2] * (long(describe("r_width.width"))) + (size[2] -1) * (long(describe("r_gutter.width"))) + size[3] * (long(describe("r_width.width"))) + (size[3] -1) * (long(describe("r_gutter.width"))) r_6 long(describe("r_gutter .width")) long(describe("r_gutter.width")) * 6+ size[0] * (long(describe("r_width.width"))) + (size[0] -1) * (long(describe("r_gutter.width"))) + size[1] * (long(describe("r_width.width"))) + (size[1] -1) * (long(describe("r_gutter.width"))) + size[2] * (long(describe("r_width.width"))) + (size[2] -1) * (long(describe("r_gutter.width"))) + size[3] * (long(describe("r_width.width"))) + (size[3] -1) * (long(describe("r_gutter.width"))) + size[4] * (long(describe("r_width.width"))) + (size[4] -1) * (long(describe("r_gutter.width")))
  • 12. Create 6 Computed Field for icon placeholder Control Expression c_1 bitmap ( icon[0] ) c_2 bitmap ( icon[1] ) c_3 bitmap ( icon[2] ) c_4 bitmap ( icon[3] ) c_5 bitmap ( icon[4] ) c_6 bitmap ( icon[5] )
  • 13. Do the same thing • Copy and modified all the dwexpression for x,y,width,and height properties from the r_1 to r_6 for : • Icon • title
  • 14. Try out by adding datarows
  • 15. How to implement • put a datawindow dw_tile control on your window • Add new user event on dw_tile that map to system event ID : pbm_dwnlbutto nup named it ue_mouse up
  • 17. And This is how it looks
  • 18. Download Datawindow Object Source Code https://zulmach.wordpress.com/2 020/01/18/tile-menu-using- datawindow-object
  • 19. • Thank You • Question and Answer • Email : zulmach@pbdev.id • Linkedin : www.linkedin.com/in/zulmach • Youtube : www.youtube.com/c/pemulapb • Whatsap : +628155555368 Q&A