Requirement Constraints

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Monday, 15 October 2012

ZK MVVM CRUD Without DB Connection - Part 1

Posted on 22:41 by Unknown

Summary :
In Part 1, Just we are showing the List of Customers without any CRUD operation.

Environment

  • Eclipse 3.7 Indigo IDE Download
  • JavaSE 1.6 Download
  • ZK 6.0.1 CE Version

    Project Structure

    image

    Add the following CustomerList.zul in the webcontent folder

    <?page title="CustomerList" contentType="text/html;charset=UTF-8"?>
    <zk>

    <style>

    /* Start: Action Images- Edit
    ---------------------------------------------- */

    .fimageedit
    {
    width: 25px; background-image: url('./images/icon-edit.png');
    background-repeat: no-repeat;
    border: 0 none;
    cursor: pointer;
    }

    /* End: Action Images - Edit
    ---------------------------------------------- */


    /* Start: Action Images- Delete
    ---------------------------------------------- */

    .fimageDelete
    {
    width: 25px; background-image: url('./images/icon-trash-red.png');
    background-repeat: no-repeat;
    border: 0 none;
    cursor: pointer;
    }

    /* End: Action Images - Delete
    ---------------------------------------------- */

    </style>

    <window title="Customer List" border="normal"
    apply="org.zkoss.bind.BindComposer"
    viewModel="@id('myvm') @init('appVM.CustomerListVM')">

    <div>
    <button label="Add New Customer"
    onClick="@command('addNewCustomer')" />
    </div>
    <separator />

    <listbox id="test" model="@load(myvm.allCustomers)"
    selectedItem="@bind(myvm.curSelectedCustomer)">
    <listhead sizable="true">
    <listheader label="Last Name" width="400px"
    sort="auto(lastName)" />
    <listheader label="First Name" width="400px"
    sort="auto(firstName)" />
    <listheader label="email" width="400px"
    sort="auto(email)" />
    <listheader label="Action" />
    </listhead>
    <template name="model" var="p1">
    <listitem>
    <listcell label="@load(p1.lastName)" />
    <listcell label="@load(p1.firstName)" />
    <listcell label="@load(p1.email)" />
    <listcell>
    <hbox spacing="20px">
    <image sclass="fimageDelete"
    onClick="@command('deleteThisCustomer')" />
    <image sclass="fimageedit"
    onClick="@command('editThisCustomer')" />
    </hbox>
    </listcell>
    </listitem>
    </template>
    </listbox>
    </window>
    </zk>


     

    Create a package called appdata and add the following CustomerData.java

    package appData;

    import java.util.ArrayList;
    import java.util.List;
    import domain.Customer;

    public class CustomerData {

    public List<Customer> getAllCustomers() {
    List<Customer> allcustomers = new ArrayList<Customer>();

    Customer d1 = new Customer();
    d1.setLastName("John");
    d1.setFirstName("Mike");
    d1.setEmail("mike@yahoo.com");
    allcustomers.add(d1);

    d1 = new Customer();
    d1.setLastName("James");
    d1.setFirstName("Sean");
    d1.setEmail("James@yahoo.com");
    allcustomers.add(d1);

    d1 = new Customer();
    d1.setLastName("Smith");
    d1.setFirstName("Williams");
    d1.setEmail("Smith@yahoo.com");
    allcustomers.add(d1);

    d1 = new Customer();
    d1.setLastName("Anderson");
    d1.setFirstName("Harris");
    d1.setEmail("Harris@yahoo.com");
    allcustomers.add(d1);

    d1 = new Customer();
    d1.setLastName("Lee");
    d1.setFirstName("Martin");
    d1.setEmail("Martin@yahoo.com");
    allcustomers.add(d1);

    return allcustomers;
    }
    }


    Create a package called appVM and the following CustomerListVM.java


    package appVM;

    import java.util.ArrayList;
    import java.util.List;
    import org.zkoss.bind.annotation.Command;
    import org.zkoss.bind.annotation.Init;
    import org.zkoss.zul.Messagebox;
    import domain.Customer;
    import appData.CustomerData;

    public class CustomerListVM {

    private List<Customer> customerList= new ArrayList<Customer>();
    private Customer curSelectedCustomer;

    public Customer getCurSelectedCustomer() {
    return curSelectedCustomer;
    }

    public void setCurSelectedCustomer(Customer curSelectedCustomer) {
    this.curSelectedCustomer = curSelectedCustomer;
    }

    @Init
    public void initSetup() {
    customerList= new CustomerData().getAllCustomers();
    }

    public List<Customer> getallCustomers() {
    return customerList;
    }

    @Command
    public void addNewCustomer() {
    Messagebox.show("Add New Customer Code goes here");
    }

    @Command
    public void editThisCustomer() {
    Messagebox.show("Edit Existing Customer Code goes here");
    }

    @Command
    public void deleteThisCustomer() {
    Messagebox.show("Delete Existing Customer Code goes here");
    }

    }


    Create a Package called domain and add the following Customer.java


    package domain;

    public class Customer {

    private String lastName;
    private String firstName;
    private String email;

    public String getLastName() {
    return lastName;
    }
    public void setLastName(String lastName) {
    this.lastName = lastName;
    }
    public String getFirstName() {
    return firstName;
    }
    public void setFirstName(String firstName) {
    this.firstName = firstName;
    }
    public String getEmail() {
    return email;
    }
    public void setEmail(String email) {
    this.email = email;
    }


    }


    Create a folder called Images under webcontent folder and add the following image
    icon-editicon-enableicon-trash-red

    Now run the customerList.zul file to see the following output.

    image


    Download Source code


  • Email ThisBlogThis!Share to XShare to Facebook
    Posted in | No comments
    Newer Post Older Post Home

    0 comments:

    Post a Comment

    Subscribe to: Post Comments (Atom)

    Popular Posts

    • ZK Example for inline Editing with Add New and Delete
      I am quite impressed on this demo from ZK . But adding new record and delete existing record is missing as part of typical CRUD. So i thoug...
    • EDI 5010 Documentation 837 Professional - Loop 2010BB Payer Name
      2010BB Payer Name          In this loop, all the information will be taken from Insurance master screen. Take a look of our sample screen...
    • EDI 5010 Documentation–837 - BHT - Beginning of Hierarchical Transaction
      BHT – Beginning of Hierarchical Transaction Loop Seg ID Segment Name Format Length Ref# Req Value   BHT Beginning of Hier...
    • Hibernate Validator Example 2
      In this example, we will see some more validation constraints such as @email, @past, @length, etc. And also we will also define custom error...
    • ZK Passing Parameter between two files using MVVM–Part 1
      Overview This is the first series of articles about Passing parameter between two zul files using MVVM Design pattern .This article will fo...
    • MVVM Command annotation and Notify change example
      Here is an example, how to pass parameter on a zul through MVVM Command binding annotation. ZK URL http://books.zkoss.org/wiki/ZK%20Develo...
    • History of Present Illness
      HPI - One of the main component of Clinical History. What is an HPI ? The history of present illness (HPI) is a chronological description...
    • Patient Demographics
      Patient browse (search) is the key element for any EMR / PMS Software. In my past 15 years experience, i involved more than 5 times in desig...
    • ViewModel Class Java Annotation @Init, @NotifyChange, @Command
      In following sections we'll list all syntaxes that can be used in implementing a ViewModel and applying ZK bind annotation. The ZK binde...
    • Good Website Design Links
      Form Design Label Placement in Forms International Address Fields in Web Forms 40 Eye-Catching Registration Pages blog-comment-form-...

    Categories

    • Billing Process
    • C Workbook
    • C++ Workbook
    • Eclipse Tips
    • EDI 5010
    • EMR Appointment Features
    • EMR Labs Stuff
    • EMR PMS Links
    • EMR Use cases
    • EMR Vital Sign
    • Good Website Design
    • Hibernate Criteria Queries
    • Hibernate Introduction
    • Hibernate Introduction Setup
    • Hibernate Mapping
    • Hibernate POC
    • Hibernate Validator
    • Hibernate–Java Environment setup
    • HPI
    • Java
    • Maven
    • MU Certification
    • NPI
    • PQRS
    • Practice Management System
    • Spring Security
    • Tech Links
    • Today Tech Stuff
    • zk
    • ZK Hibernate
    • ZK 5 Databinding
    • ZK Application
    • ZK Calling Another ZUL
    • ZK CheckBox
    • ZK CreateComponents
    • ZK CSS
    • ZK extended Components
    • ZK Foreach
    • ZK Forum Posts
    • ZK Framework
    • ZK Hibernate Setup
    • ZK ID Space
    • ZK Include
    • ZK Installation
    • ZK iReport
    • ZK Layout
    • ZK Listitem Pagination
    • ZK Message Box
    • ZK MVC
    • ZK MVC Combox Box
    • ZK MVC CRUD Examples
    • ZK MVC Listbox
    • ZK MVVM
    • ZK MVVM Combo
    • ZK MVVM CRUD
    • ZK MVVM ListBox
    • ZK Spring
    • ZK TextBox

    Blog Archive

    • ►  2013 (105)
      • ►  December (3)
      • ►  September (7)
      • ►  August (13)
      • ►  July (1)
      • ►  June (11)
      • ►  May (3)
      • ►  April (14)
      • ►  March (19)
      • ►  February (21)
      • ►  January (13)
    • ▼  2012 (177)
      • ►  December (1)
      • ►  November (13)
      • ▼  October (19)
        • Form Fields Layout
        • EMR and PMS Links
        • ZK Search Text Box
        • ZK MVVM CRUD Without DB Connection - Part 6
        • ZK MVVM CRUD Without DB Connection
        • ZK MVVM CRUD Without DB Connection - Part 5
        • ZK Button CSS Customization
        • ZK Modal window CSS Customization
        • Button on Focus underline the text
        • ZK MVVM CRUD Without DB Connection - Part 4
        • ZK List Item CSS with sclass and Default ZK CSS fo...
        • ZK MVVM CRUD Without DB Connection - Part 2
        • ZK MVVM CRUD Without DB Connection - Part 3
        • ZK MVVM CRUD Without DB Connection - Part 1
        • Good Website Design Links
        • ZK Panel CSS Customization
        • History of Present Illness
        • EMR Use cases
        • Java Static Import
      • ►  September (24)
      • ►  August (26)
      • ►  July (6)
      • ►  June (37)
      • ►  May (30)
      • ►  April (16)
      • ►  March (1)
      • ►  January (4)
    • ►  2011 (5)
      • ►  December (1)
      • ►  November (1)
      • ►  July (1)
      • ►  June (1)
      • ►  April (1)
    • ►  2010 (1)
      • ►  September (1)
    Powered by Blogger.

    About Me

    Unknown
    View my complete profile