只要计算变量所需的其中一个元素发生变化,就重新计算变量的值

时间:2015-05-15 20:11:43

标签: genexus

我有以下问题:

我有一个网页面板'预订',用户在其上指定&beginDate&endDate(编辑)的值。使用变量&beginDate&endDate作为网格的条件。

我还有一个&days变量(readonly),它在规则中被定义为这两个(&days=&endDate-beginDate)之间的差异,其目的是双重的:

  1. 计算预订率 - 这很好用

  2. 为用户显示。 - 这不能正常工作

  3. 我的问题是,如果用户更新了&endDate&beginDate的值,则在加载或刷新网格之前,&days值不会更新。我需要它尽快改变。

    在寻求帮助之前我尝试了以下内容:

    1. notifycontextchange=true&beginDate设置&endDate并创建两个TrackContext事件:
    2. `

      Event TrackContext(&beginDate)
      &days=&endDate-&beginDate
      endevent
      
      Event TrackContext(&endDate)
      &days=&endDate-&beginDate
      endevent
      
      1. 在开始事件中分配其值

      2. &beginDate.click&endDate.click事件

      3. 上分配其值

        我已经扫描了这些论坛,并找到了一个建议使用ControlValueChanged事件的答案。问题是我正在运行Genexus X Ev1并且该事件在这里不存在(或者至少并不固有地与变量绑定)。

        还有其他解决方案吗?我觉得我错过了一些非常简单的事情:(

        我正在使用HTML 4.01 Transitional和.NET环境。

1 个答案:

答案 0 :(得分:1)

从Genexus X EV1 upg 3开始,您可以在浏览器中运行事件(不需要刷新网格)SAC 30737

尝试添加IsValid事件:

Event &beginDate.IsValid
    &days = &endDate - beginDate
EndEvent
Event &endDate.IsValid
    &days = &endDate - beginDate
EndEvent