Revision history [back]

click to hide/show revision 1
initial version

asked 2016-11-01 19:06:19 +0800

sergeymd gravatar image sergeymd

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660.

Do anybody know how perform sync for Grid? Thnx!

Code:

<zk>
<zscript><![CDATA[

public class State { private String id, code, name;

public State(String id, String code, String name) {
    super();
    this.id = id;
    this.code = code;
    this.name = name;
}
public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}
public String getCode() {
    return code;
}
public void setCode(String code) {
    this.code = code;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}

}

ListModelList statesListModel = new ListModelList(); for (int i = 0; i < 10; i++) { statesListModel.add(new State("id" + i, "code " + i, "name " + i)); } ]]></zscript> <window vflex="1"> <vlayout> <label multiline="true"> 1. Hide any column from the menupopup of listheader or columns 2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser </label> <button label="Show Listheader visibility"> <attribute name="onClick">"; for (int i = 0, size = headers.size(); i < size; i++) { Listheader header = headers.get(i); message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "
"; } Clients.showNotification(message); ]]></attribute> </button> <listbox mold="paging" model="${statesListModel}" vflex="min"> <listhead id="head" menupopup="auto" columnshide="true"> <listheader width="40px" label="Id"/> <listheader width="150px" label="Code"/> <listheader width="150px" label="Name"/> </listhead> <template name="model"> <listitem> <listcell label="${each.id}"/> <listcell label="${each.code}"/> <listcell label="${each.name}"/> </listitem> </template> </listbox> <button label="Show Columns visibility"> <attribute name="onClick">"; for (int i = 0, size = headers.size(); i < size; i++) { Column header = headers.get(i); message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "
"; } Clients.showNotification(message); ]]></attribute> </button> <grid model="${statesListModel}"> <columns id="headG" menupopup="auto" columnshide="true"> <column label="Id"/> <column label="Code"/> <column label="Name"/> </columns> <template name="model"> <row> <label value="${each.id}"/> <label value="${each.code}"/> <label value="${each.name}"/> </row> </template> </grid> </vlayout> </window> </zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660.

Do anybody know how perform sync for Grid? Thnx!

Code:

<zk>
<zscript><![CDATA[

public class State { private String id, code, name;

public State(String id, String code, String name) {
    super();
    this.id = id;
    this.code = code;
    this.name = name;
}
public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}
public String getCode() {
    return code;
}
public void setCode(String code) {
    this.code = code;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}

}

ListModelList statesListModel = new ListModelList(); for (int i = 0; i < 10; i++) { statesListModel.add(new State("id" + i, "code " + i, "name " + i)); } ]]></zscript> <window vflex="1"> <vlayout> <label multiline="true"> 1. Hide any column from the menupopup of listheader or columns 2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser </label> <button label="Show Listheader visibility"> <attribute name="onClick">"; for (int i = 0, size = headers.size(); i < size; i++) { Listheader header = headers.get(i); message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "
"; } Clients.showNotification(message); ]]></attribute> </button> <listbox mold="paging" model="${statesListModel}" vflex="min"> <listhead id="head" menupopup="auto" columnshide="true"> <listheader width="40px" label="Id"/> <listheader width="150px" label="Code"/> <listheader width="150px" label="Name"/> </listhead> <template name="model"> <listitem> <listcell label="${each.id}"/> <listcell label="${each.code}"/> <listcell label="${each.name}"/> </listitem> </template> </listbox> <button label="Show Columns visibility"> <attribute name="onClick">"; for (int i = 0, size = headers.size(); i < size; i++) { Column header = headers.get(i); message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "
"; } Clients.showNotification(message); ]]></attribute> </button> <grid model="${statesListModel}"> <columns id="headG" menupopup="auto" columnshide="true"> <column label="Id"/> <column label="Code"/> <column label="Name"/> </columns> <template name="model"> <row> <label value="${each.id}"/> <label value="${each.code}"/> <label value="${each.name}"/> </row> </template> </grid> </vlayout> </window> </zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660.

Do anybody know how perform sync for Grid? Thnx!

Code:

<zk>
<zscript><![CDATA[

public class State { private String id, code, name;

public State(String id, String code, String name) {
    super();
    this.id = id;
    this.code = code;
    this.name = name;
}
public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}
public String getCode() {
    return code;
}
public void setCode(String code) {
    this.code = code;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}

}

ListModelList statesListModel = new ListModelList(); for (int i = 0; i < 10; i++) { statesListModel.add(new State("id" + i, "code " + i, "name " + i)); } ]]></zscript> <window vflex="1"> <vlayout> <label multiline="true"> 1. Hide any column from the menupopup of listheader or columns 2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser </label> <button label="Show Listheader visibility"> <attribute name="onClick">"; for (int i = 0, size = headers.size(); i < size; i++) { Listheader header = headers.get(i); message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "
"; } Clients.showNotification(message); ]]></attribute> </button> <listbox mold="paging" model="${statesListModel}" vflex="min"> <listhead id="head" menupopup="auto" columnshide="true"> <listheader width="40px" label="Id"/> <listheader width="150px" label="Code"/> <listheader width="150px" label="Name"/> </listhead> <template name="model"> <listitem> <listcell label="${each.id}"/> <listcell label="${each.code}"/> <listcell label="${each.name}"/> </listitem> </template> </listbox> <button label="Show Columns visibility"> <attribute name="onClick">"; for (int i = 0, size = headers.size(); i < size; i++) { Column header = headers.get(i); message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "
"; } Clients.showNotification(message); ]]></attribute> </button> <grid model="${statesListModel}"> <columns id="headG" menupopup="auto" columnshide="true"> <column label="Id"/> <column label="Code"/> <column label="Name"/> </columns> <template name="model"> <row> <label value="${each.id}"/> <label value="${each.code}"/> <label value="${each.name}"/> </row> </template> </grid> </vlayout> </window> </zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660.

Do anybody know how perform sync for Grid? Thnx!

Code:

<zk>
<zscript><![CDATA[

public class State { private String id, code, name;

public State(String id, String code, String name) {
<zk>
 super();
    this.id = id;
    this.code = code;
    this.name = name;
}
public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}
public String getCode() {
    return code;
}
public void setCode(String code) {
    this.code = code;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
<zscript>

}

ListModelList statesListModel = new ListModelList(); for (int i = 0; i < 10; i++) { statesListModel.add(new State("id" + i, "code " + i, "name " + i)); } ]]></zscript> <window vflex="1"> <vlayout> <label multiline="true"> 1. Hide any column from the menupopup of listheader or columns 2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser </label> <button label="Show Listheader visibility"> <attribute name="onClick">"; for (int i = 0, size = headers.size(); i < size; i++) { Listheader header = headers.get(i); message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "
"; } Clients.showNotification(message); ]]></attribute> </button> <listbox mold="paging" model="${statesListModel}" vflex="min"> <listhead id="head" menupopup="auto" columnshide="true"> <listheader width="40px" label="Id"/> <listheader width="150px" label="Code"/> <listheader width="150px" label="Name"/> </listhead> <template name="model"> <listitem> <listcell label="${each.id}"/> <listcell label="${each.code}"/> <listcell label="${each.name}"/> </listitem> </template> </listbox> <button label="Show Columns visibility"> <attribute name="onClick">"; for (int i = 0, size = headers.size(); i < size; i++) { Column header = headers.get(i); message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "
"; } Clients.showNotification(message); ]]></attribute> </button> <grid model="${statesListModel}"> <columns id="headG" menupopup="auto" columnshide="true"> <column label="Id"/> <column label="Code"/> <column label="Name"/> </columns> <template name="model"> <row> <label value="${each.id}"/> <label value="${each.code}"/> <label value="${each.name}"/> </row> </template> </grid> </vlayout> </window> </zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660.

Do anybody know how perform sync for Grid? Thnx!

Code:

  <zk>
    <zscript><zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660.ZK-2660 (http%3A%2F%2Ftracker.zkoss.org%2Fbrowse%2FZK-2660).

Do anybody know how perform sync for Grid? Thnx!

Code:


<zk>
    <zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660 (http%3A%2F%2Ftracker.zkoss.org%2Fbrowse%2FZK-2660).().

Do anybody know how perform sync for Grid? Thnx!

Code:


<zk>
    <zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660 ().(http://tracker.zkoss.org/browse/ZK-2660).

Do anybody know how perform sync for Grid? Thnx!

Code:


<zk>
    <zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660 (http://tracker.zkoss.org/browse/ZK-2660).

Do anybody know how perform sync for Grid? Thnx!

Code:


<zk>
    <zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>

Sync grid grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660 (http://tracker.zkoss.org/browse/ZK-2660).

Do anybody know how perform sync for Grid? Thnx!

Code:


<zk>
    <zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>

Sync grid grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660 (http://tracker.zkoss.org/browse/ZK-2660).

Do anybody know how perform sync for Grid? Thnx!

Code:


<zk>
    <zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660 (http://tracker.zkoss.org/browse/ZK-2660).

Do anybody know how perform sync for Grid? Thnx!

Code:


<zk>
    <zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660 (http://tracker.zkoss.org/browse/ZK-2660).(go to ZK-2660).

Do anybody know how perform sync for Grid? Thnx!

Code:


<zk>
    <zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660 (go to ZK-2660).(http://tracker.zkoss.org/browse/ZK-2660).

Do anybody know how perform sync for Grid? Thnx!

Code:


<zk>
    <zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>

Sync grid column visible state in client/server side when show/hide column through menupopup

Hi,

Client side visibility state for columns synchronized well for Listbox, but don't for Grid's columns. The following code is extended code from JIRA ZK-2660 (http://tracker.zkoss.org/browse/ZK-2660).

Do anybody know how perform sync for Grid? Thnx!

Code:


<zk>
    <zscript><![CDATA[
public class State {
    private String id, code, name;

    public State(String id, String code, String name) {
        super();
        this.id = id;
        this.code = code;
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
ListModelList statesListModel = new ListModelList();
for (int i = 0; i < 10; i++) {
    statesListModel.add(new State("id" + i, "code " + i, "name " + i));
}
    ]]></zscript>
    <window vflex="1">
        <vlayout>
            <label multiline="true">
                1. Hide any column from the menupopup of listheader or columns
                2. Click "Show Listheader visibility" or "Show Columns visibility", the visible state should sync with browser
            </label>
            <button label="Show Listheader visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = head.getChildren();
                    String message = "Listbox</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Listheader header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <listbox mold="paging" model="${statesListModel}" vflex="min">
                <listhead id="head" menupopup="auto" columnshide="true">
                    <listheader width="40px" label="Id" />
                    <listheader width="150px" label="Code" />
                    <listheader width="150px" label="Name" /><listheader width="150px" label="url" />
                </listhead>
                <template name="model">
                    <listitem>
                        <listcell label="${each.id}" />
                        <listcell label="${each.code}" />
                        <listcell label="${each.name}" />
                        <listcell><a label="uuuuu"/></listcell>
                    </listitem>
                </template>
            </listbox>
            <button label="Show Columns visibility">
                <attribute name="onClick"><![CDATA[
                    List headers = headG.getChildren();
                    String message = "Grid</br>";
                    for (int i = 0, size = headers.size(); i < size; i++) {
                        Column header = headers.get(i);
                        message += "Column: " + header.getLabel() + ", Visible:" + header.isVisible() + "<br/>";
                    }
                    Clients.showNotification(message);
                ]]></attribute>
            </button>
            <grid model="${statesListModel}">
                <columns id="headG"  menupopup="auto" columnshide="true">
                    <column label="Id"/>
                    <column label="Code" />
                    <column label="Name"/>
                </columns>
                <template name="model">
                <row>
                    <label value="${each.id}"/>
                    <label value="${each.code}"/>
                    <label value="${each.name}"/>
                </row>
                </template>
            </grid>
        </vlayout>
    </window>
</zk>
Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More