天数计算方法(使用ZK和MVVM)
好吧,好吧,如果有人感兴趣的话,我会一步一步地把我对ZK框架和MVVM模式的所有疑问联系在一系列简单的问题上: 现在,所有的数据都已正确绑定,我决定在表单的日期上玩一玩。因此,当我选择一个日期时,它通过一个操作计算出天数,并显示在另一个文本框中,下面是代码: .zul文件天数计算方法(使用ZK和MVVM),mvvm,datepicker,frameworks,zk,Mvvm,Datepicker,Frameworks,Zk,好吧,好吧,如果有人感兴趣的话,我会一步一步地把我对ZK框架和MVVM模式的所有疑问联系在一系列简单的问题上: 现在,所有的数据都已正确绑定,我决定在表单的日期上玩一玩。因此,当我选择一个日期时,它通过一个操作计算出天数,并显示在另一个文本框中,下面是代码: .zul文件 <datebox id="" format="medium" onCreate="" value="@bind(vm.fechaIngreso)" width="100%" onSelect="@command
<datebox id="" format="medium" onCreate="" value="@bind(vm.fechaIngreso)" width="100%"
onSelect="@command('calcularDias')" mold="rounded" readonly="true" constraint="no empty, no future"
disabled="@load(empty vm.camaPaciente)"/>
其中“hoy”=今天日期,getFechaRegistro=注册日期,它假设必须在另一个文本框中计算天数,但它不起作用。可能是绑定问题或计算问题。我感谢任何解决我问题的建议。多谢各位
diasEstancia
属性?然后
您应该让命令通知该值的更改:
@NotifyChange({“diasEstancia”})
fechaIngreso
(它绑定到您的日期框)来计算日差,但您使用的是this.getFechaRegistro()
,就我从发布的代码中所看到的,它没有改变。因此,diasEstancia
中的值永远不会改变(在一天内)哦,我明白了,我忘了绑定“diasEstancia”(作为int值的天数)属性,是的,你是对的,我声明了两个与日期相关的变量,我调用了错误的变量,呵呵,我正在寻找方法的错误,这又是一个绑定错误。谢谢你的回答flo!
@Command
@NotifyChange({"fechaIngreso"})
public void calcularDias(){
long milisegundosPorDia = 24 * 60 * 60 * 1000;
java.util.Date hoy = new Date();
long tmp = (hoy.getTime() - this.getFechaRegistro().getTime())/milisegundosPorDia;
this.setDiasEstancia((int)tmp);
}