检查表格列是否为空单元格

时间:2018-11-01 11:07:01

标签: javascript oracle-adf jdeveloper

在我的情况下,我有3列,每列都取决于上一列。 用户必须输入第1列中的所有单元格,以便第2列可编辑,然后他输入第2列以使第3列可编辑。 如果他清除了单元格,则应禁用从属列。

我如何使用JavaScript处理它

请在下面的图片中查找:

enter image description here

2 个答案:

答案 0 :(得分:1)

我假设您的表格单元格将是af:input text。 您不需要显式的JS来实现此目的,因为您可以在ADF本身中实现它。因此,如果您不需要在JS中执行此操作,则可以按以下方式尝试。有了Button,我们有了actionactionListener,就像拥有valueChangeListenerinputText一样。

假设您有2个输入文本(表中2个单元格)。

 <af:inputText value="#{bindings.ESal.inputValue}"
              label="#{bindings.ESal.hints.label}"
              required="#{bindings.ESal.hints.mandatory}"
              columns="#{bindings.ESal.hints.displayWidth}"
              maximumLength="#{bindings.ESal.hints.precision}"
              shortDesc="#{bindings.ESal.hints.tooltip}" id="it11"
              autoSubmit="true" valueChangeListener="#{bean1.textChange}"
             >
  <f:validator binding="#{bindings.ESal.validator}" />
</af:inputText>
  • 在此输入autoSubmit = true作为输入文本 改变了。
  • 使用valueChangeListener事件并以textChange的方式创建方法 如上所示。只要您的输入文本发生更改,就会触发该操作(在选项卡上也会更改)。

     <af:inputText label="Output label"  id="ol1" 
                partialTriggers="it11" binding="#{bean1.lbl}"
              disabled="true"/>    
    
  • 此inputText依赖于第一个。默认情况下它是禁用的。

  • 使用PartialTrigger并在其中分配第一个inputText。
  • 为此inputText创建一个绑定,该绑定可用于托管 豆。

      public void textChange(ValueChangeEvent valueChangeEvent) {
    // Add event code here...
    if(!(valueChangeEvent.getNewValue()==null || 
       valueChangeEvent.getNewValue().equals(""))) // checking input Text value
    { // if not null
        lbl.setDisabled(false);    //then enable it
        AdfFacesContext adfFacesContext = AdfFacesContext.getCurrentInstance();
        adfFacesContext.addPartialTarget(lbl); // refresh the binding
    }
    else
    {
        lbl.setDisabled(true);    //else disable it.
            AdfFacesContext adfFacesContext = AdfFacesContext.getCurrentInstance();
            adfFacesContext.addPartialTarget(lbl);    
    }
    

    }

答案 1 :(得分:0)

为ViewObject启用Java RowImpl,以便您可以控制getter中返回的数据