Select ODK动态选择数据库,如何处理空列表
我有一个ODK表单,它被配置为从数据库获取数据列表,并将该数据列表用于Select ODK动态选择数据库,如何处理空列表,select,odk,Select,Odk,我有一个ODK表单,它被配置为从数据库获取数据列表,并将该数据列表用于选择 问题是,当来自数据库的查询返回空字符串时,我无法显示错误,相反,ODK表单在加载时崩溃。我试过这个 <instance id="books"> <list> <g:if test="${Book.list()}"> <g:each in="${Book.list()}" var="book">
选择
问题是,当来自数据库的查询返回空字符串时,我无法显示错误,相反,ODK表单在加载时崩溃。我试过这个
<instance id="books">
<list>
<g:if test="${Book.list()}">
<g:each in="${Book.list()}" var="book">
<book>
<id>${book.id}</id>
<name>${book.name?.encodeAsHTML()}</name>
</book>
</g:each>
</g:if>
<g:else>
<book>
<id></id>
<name></name>
</book>
</g:else>
</list>
</instance>
${book.id}
${book.name?.encodeAsHTML()}
它创建了一个id为空、名称为空的xml。这确保了ODK在加载时不会崩溃
但是由于我不希望用户选择空的书籍
选项,我在绑定节点集
部分添加了一个约束
因此,现在当用户试图通过图书选择部分时,ODK表单不允许它,但是它没有抛出我提供的约束消息,而是抛出这个错误
不知道xml值!可能所选内容仅存储为索引,尚未链接到formdef?