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...
    • 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...
    • 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...
    • 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...
    • 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...
    • ZK Border Layout–Another example
      This examples show how you can use ZK Border Layout to show the product information on clicking image. ZK Version 6 Project Name : BorderL...
    • Good Website Design Links
      Form Design Label Placement in Forms International Address Fields in Web Forms 40 Eye-Catching Registration Pages blog-comment-form-...
    • How to refer CSS File in ZK Style tag
      In this example, we will see how to create CSS file as separate file and include in zul file to change the look and feel Project structure a...
    • ZK MVVM Form Binding CRUD with Spring and Hibernate - Part 4
      Presentation Layer using ZK Framework          In part 3 , We have completed Spring integration with hibernate. In this post, we will des...
    • Load Tab box Content on Demand Using MVVM
      ZK Version : 6.5.0 CE In this post, let us see how we can load individual ZUL File on each tab box content Step : 1 First let us create indi...

    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