【问题标题】:priority-web-sdk: startSubForm return the parent formpriority-web-sdk: startSubForm 返回父表单
【发布时间】:2018-08-22 15:43:25
【问题描述】:

以下代码启动一个表单和一个子表单,问题是我得到了父级的 subForm 实例:

    await actions.loginTest();
    const form = await actions.priority.formStart(this.formName, 
    onShowMessgeFunc, onUpdateFieldsFunc);
    console.log("form", form);
    if(form.subForms["SHIPTO2"]) {
      const subForm = await form.startSubForm("SHIPTO2");
      console.log("subform", subForm);
      subForm.choose("CUSTDES", '').then(options => {
        let custOptions = options.SearchLine.map(x => {return 
       {label:x.retval + " - " + x.string1, value: x.retval }});
        this.setState({
          customersShippingOptions: custOptions,
        })
      }).catch((err) => {
        console.log("CHOOSE ERROR", err);
      })
    }

输出:

【问题讨论】:

    标签: subform priority-web-sdk


    【解决方案1】:

    为了启动子表单,父表单中必须有一个活动行,因此子表单将从该行开始。

    在启动子表单之前,您应该使用getRows() 函数来检索行,然后调用setActiveRow(rowIndex) 来设置活动行。然后你就可以启动子表单了。

    修改你的代码如下:

    await actions.loginTest();
    const form = await actions.priority.formStart(this.formName, 
                 onShowMessgeFunc, onUpdateFieldsFunc);
    console.log("form", form);
    const rows = await form.getRows();
    await setActiveRow(5);
    if(form.subForms["SHIPTO2"]) {
       const subForm = await form.startSubForm("SHIPTO2");
       console.log("subform", subForm);
       ...
    }
    

    顺便说一句:我看到您正在使用choose(),这里也需要有一个活动(子表单)行,使用getRows()setActiveRow() 或在调用newRow() 之前创建一个newRow()@

    【讨论】:

    • 谢谢,我正在寻找更新字段的正确操作顺序。我尝试了几种更新字段的方法,主要是因为我多次更新相同的字段并且我收到以下错误:“此记录已存在于屏幕中”。在我启动表单和 setActiveRow(1) 之后,我正在执行 fieldUpdate 然后 saveRow(1),我还添加了 getRows(),但我认为不需要它。有什么建议吗?
    • 如果您为此打开一个单独的问题并发布您的代码会更好。
    【解决方案2】:

    如果你想拉屏幕上的第一行不仅仅是使用autoRetrieveFirstRows参数 在函数formStart

    Link to the function on the Web SDK site

    我个人将此值定义为默认值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多