如果没有找到记录,如何在 Movilizer 数据网格中显示消息
How to show message in Movilizer data grid if no records found
我在问题类型为“9”的 Movilizer 屏幕中使用数据网格。在这里,我将数据绑定到具有本地数组数据的网格。如果没有数据,我想在网格屏幕 'No records found' 中显示消息。如何在此处的屏幕中间显示消息。
下面是我的示例代码
<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>
谢谢
这里有很多可能性。
第一个是在该消息的虚拟答案中包含一个新条目,如下所示:
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);
我在问题类型为“9”的 Movilizer 屏幕中使用数据网格。在这里,我将数据绑定到具有本地数组数据的网格。如果没有数据,我想在网格屏幕 'No records found' 中显示消息。如何在此处的屏幕中间显示消息。 下面是我的示例代码
<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>
谢谢
这里有很多可能性。 第一个是在该消息的虚拟答案中包含一个新条目,如下所示:
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);