0

我在 movilizer 屏幕中使用问题类型 =“9”的数据网格。在这里,我使用本地数组数据将数据绑定到网格。如果没有数据,我想在网格屏幕“未找到记录”中显示消息。如何在此处在屏幕中间显示消息。下面是我的示例代码

<question key="Item_Question" type="9" title="Item Details" tableOptionsEnabled="false" >
    <answer nextQuestionKey="END" key="Item_1" clientKey="0" colIndex="0" colWidth="5" attributeType="8" dummyAnswer="true">
      <text>Item ID </text>
    </answer>
    <answer nextQuestionKey="END" key="Item_2" clientKey="0" colIndex="1" colWidth="5" colSearchable="false"
            attributeType="8" dummyAnswer="true" valueAlignment="CENTER">
      <text>Item Description</text>
    </answer>

    <onEnterAssignment>
      itemCount = $local:itemDetails;

      for(clientKey : itemCount){
      Seq = concat(itemCount[clientKey]['ID'], '_', itemCount[clientKey]['Name']);

      addAnswer($answer:"Item_1", Seq, itemCount[clientKey]['ItemCode']);
      setAnswerValueByClientKey($answer:"Item_1", Seq, itemCount[clientKey]['ItemCode']);

      addAnswer($answer:"Item_2", Seq, itemCount[clientKey]['ItemDescription']);
      setAnswerValueByClientKey($answer:"Item_2", Seq, itemCount[clientKey]['ItemDescription']);

      }
    </onEnterAssignment>
  </question>

谢谢

4

1 回答 1

0

你在这里有很多可能性。第一个是在带有该消息的虚拟答案中包含一个新条目,如下所示:

addAnswer($answer:"Item_1", "_Blank", "No records found");
setAnswerValueByClientKey($answer:"Item_1", "_Blank", "No records found");
addAnswer($answer:"Item_2", "_Blank", "");
setAnswerValueByClientKey($answer:"Item_2", "_Blank", "");

另一种选择是在有问题的文本元素中包含一个占位符,并在本地数组是否有元素时使其出现或消失,就像这样:

<text>%MY_MESSAGE%</text>

<onEnterAssignment>
  itemCount = $local:itemDetails;

  if (count($local:itemDetails) ?eq 0)
  {
    setPlaceholder("%MY_MESSAGE%", "No records found");
  }
  else
  {
    setPlaceholder("%MY_MESSAGE%", "");
  }

</onEnterAssignment>

而且,如果您正在使用 2.6 版本进行开发,也许应该使用另一种选择showDialog。它将在您的 movilizer 客户端中显示一个类似于警告消息的框。这是一个例子:

showDialog(1, false, "Message title", "No records found", 14);
于 2020-04-29T14:16:55.663 回答