Suggested case list:
Using timer to refresh a grid
383guest172.69.33.12125nk0uiMay 7, 2020 7:23:47 AMlinkuser model to move item to another listbox
120guest162.158.193.148d0n3krApr 2, 2020 5:28:28 AMlinkDisabled list item row passed to VM-1981
296fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:44 PMlinkDisabled list item row passed to VM-1981
295fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:16 PMlinkDisabled list item row passed to VM-1981
294fatih123160.83.36.13225nk0uiFeb 13, 2018 3:30:44 PMlinkgrid sample with ListModel/RowRenderer
816guest80.82.2.1312vah9ajFeb 21, 2017 11:42:21 AMlinkgrid sample with ListModel/RowRenderer
809guest175.98.113.1622vah9ajJan 26, 2017 9:19:33 AMlinkgrid sample with ListModel/RowRenderer
196guest79.185.142.402vah9ajApr 26, 2014 10:53:57 PMlinkgrid sample with ListModel/RowRenderer
195guest79.185.142.402vah9ajApr 26, 2014 10:53:54 PMlinkgrid sample with ListModel/RowRenderer
194guest79.185.142.402vah9ajApr 26, 2014 10:53:51 PMlinkgrid sample with ListModel/RowRenderer
193guest79.185.142.402vah9ajApr 26, 2014 10:53:48 PMlinkgrid sample with ListModel/RowRenderer
192guest79.185.142.402vah9ajApr 26, 2014 10:53:44 PMlinkgrid sample with ListModel/RowRenderer
191guest79.185.142.402vah9ajApr 26, 2014 10:53:40 PMlinkHierarchy table without using ZK PE/EE
1aaknai151.28.135.2131s871daJul 29, 2013 11:02:46 PMlinkgrid sample with ListModel/RowRenderer
128aaknai151.28.135.2132vah9ajJul 29, 2013 7:20:00 PMlinkuser model to move item to another listbox
1TonyQ114.25.109.94d0n3krApr 21, 2012 10:43:27 AMlinkUsing timer to refresh a grid
1TonyQ220.133.44.3725nk0uiFeb 17, 2012 3:17:34 AMlinkFire a event from child iframe
1TonyQ220.133.44.372eupjotFeb 3, 2012 5:04:52 AMlinkTextbox input restriction sample
1TonyQ72.21.245.2431b3nlr0Dec 20, 2011 10:09:10 AMlinkTest web core taglib in ZUL
1TonyQ198.203.175.175ofqkemDec 17, 2011 3:36:08 AMlinkLatest 10 Fiddles :
Textbox input restriction sample
1guest172.71.137.1339ahuuhJan 12, 2025 6:43:16 AMlinkZK MVVM Converter
21guest172.71.137.13816cf90oJan 12, 2025 6:35:27 AMlinkTemplate composition and include
35guest172.70.246.66vroi36Jan 10, 2025 3:44:06 PMlinkTemplate composition and include
34guest172.70.246.66vroi36Jan 10, 2025 3:43:42 PMlinkTemplate composition and include
33guest172.70.246.66vroi36Jan 10, 2025 3:42:59 PMlinkTemplate composition and include
32guest172.70.246.67vroi36Jan 10, 2025 3:41:58 PMlinkTemplate composition and include
31guest172.70.246.66vroi36Jan 10, 2025 3:41:25 PMlinkTemplate composition and include
30guest172.70.246.66vroi36Jan 10, 2025 3:39:35 PMlinkTemplate composition and include
29guest172.70.246.66vroi36Jan 10, 2025 3:39:09 PMlinkTemplate composition and include
28guest172.70.246.67vroi36Jan 10, 2025 3:37:54 PMlinkZK datebox month/year only and nr. days of the month
1Davion178.153.7.12317o2kr6Aug 29, 2018 11:50:20 AMlinkresources
index.zulzul<zk>
<script><![CDATA[
zk.afterLoad("zul.db", function () {
// Datebox Calendar Renderer
var _Cwgt = {};
zk.override(zul.db.CalendarPop.prototype, _Cwgt, {
// switch the view after redraw or open as needed
redraw: function (out) {
_Cwgt.redraw.apply(this, arguments); //call the original method
this._customChangeView ();
},
open: function (silent) {
_Cwgt.open.apply(this, arguments); //call the original method
this._customChangeView ();
},
_customChangeView: function () {
// cannot show month/day
if (jq(this.parent.$n()).hasClass('datebox-year-only')) {
var view = this._view;
// switch to year view as needed
if (view == 'month' || view == 'day')
this._setView("year");
} else if (jq(this.parent.$n()).hasClass('datebox-month-only')) {
// cannot show day view
// switch to month view as needed
if (this._view == 'day')
this._setView("month");
}
},
// customize the chooseDate function
_chooseDate: function (target, val) {
var view = this._view;
if (jq(this.parent.$n()).hasClass('datebox-month-only')
|| jq(this.parent.$n()).hasClass('datebox-year-only')) {
// do customize chooseDate if the parent (datebox)
// has specific class
var date = this.getTime(),
year = (view == 'decade' || view == 'year')? val : date.getFullYear(),
month = view == 'month'? val : 0,
date = 1;
// set date value
this._setTime(year, month, 1);
if (view == 'decade') {
// switch to year view if at decade view
this._setView("year");
} else if (jq(this.parent.$n()).hasClass('datebox-month-only')
&& view == 'year') {
// switch to month view if at year view and the month view is allowed
this._setView("month");
} else if (jq(this.parent.$n()).hasClass('datebox-month-only') && view == 'month'
|| jq(this.parent.$n()).hasClass('datebox-year-only') && view == 'year') {
// close calendar and update value if already at the smallest allowed view
this.close();
this.parent.setValue(this.getTime());
this.parent.fireOnChange();
}
} else {
_Cwgt._chooseDate.apply(this, arguments); //call the original method
}
}
});
});
]]></script>
<window apply="pkg$.DaysOfMonthVM">
<hbox>
<datebox id="dateInvoices" cols="2"
sclass="datebox-month-only" format="MM/yyyy"
value="@bind(vm.selectedDate)"
onChange="Date date = self.getValue();"
width="200px">
</datebox>
</hbox>
<button id="demo" label="Get Month Days"/>
</window>
</zk>DaysOfMonthVM.javajavaimport org.zkoss.zk.ui.*;
import org.zkoss.zk.ui.event.*;
import org.zkoss.zk.ui.util.*;
import org.zkoss.zk.ui.ext.*;
import org.zkoss.zk.au.*;
import org.zkoss.zk.au.out.*;
import org.zkoss.zul.*;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.Calendar;
public class DaysOfMonthVM extends GenericForwardComposer{
public Datebox dateInvoices;
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
}
public void onClick$demo(Event e) throws InterruptedException{
SimpleDateFormat sdf = new SimpleDateFormat("MM");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy");
String monthStr = sdf.format(dateInvoices.getValue()).toString();
String yearStr = sdf1.format(dateInvoices.getValue()).toString();
int month = Integer.parseInt(monthStr);
int year = Integer.parseInt(yearStr);
int iYear = year;
int iMonth = month - 1; // 1 (months begin with 0)
int iDay = 1;
Calendar mycal = new GregorianCalendar(iYear, iMonth, iDay);
int daysInMonth = mycal.getActualMaximum(Calendar.DAY_OF_MONTH);
Messagebox.show("" + daysInMonth);
}
}