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...
    • EDI 270–5010 Documentation - ISA – Interchange Control Header
      ISA – Interchange Control Header ISA – Interchange Control Header   The ISA is a fixed record length segment and all positions within ea...
    • ZK MVVM Form Binding CRUD with Spring and Hibernate - Part 11
      Storing Image in the Database          My Sincere thanks to Joshi who helped me in this article In the last article , we have successfu...
    • Understanding EDI Structure
      EDI Structure Primary Levels are 1. Interchange Envelops 2. Functional Group 3. Transaction set Data Element A data element is equival...
    • List Item Connected with Hibernate and Search Parameter
        Summary This example contains one list box with First name and Last Name as search Field. If the user do not give any values for first n...
    • 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...
    • 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...
    • 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...

    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