gpt4 book ai didi

grails - 如何在Grails的选择框中显示父域字段

转载 作者:行者123 更新时间:2023-12-02 15:25:22 25 4
gpt4 key购买 nike

我正在使用grails 2.1.0。我需要在gsp页面的选择框中通过父链显示父域的字段值。但是我出错了。到目前为止,我已经尝试如下:

我的第一个域包含名为adtAuditPack的 parent >>>

    class AdtAuditorSchdlPack {
......
static belongsTo = [adtAuditPack: AdtAuditPack,fiscalYear:FiscalYear]
......
}

我的上述域名的第一位 parent 名为AdtAuditPack >>>
class AdtAuditPack {
......
static belongsTo = [auditFirm:AuditFirm]
......
}

我的adtAuditorSchdlPack的第二个父名为AuditFirm >>>
    class AuditFirm {
......
String auditFirmName
......
}

现在,我想将auditFirm名称显示为optionValue,将AdtAuditorSchdlPack.id显示为optionKey。为此,我选择以下内容>>>
<g:select id="auditPack0" name="auditPack0" from="${AdtAuditorSchdlPack?.adtAuditPack?.auditFirm}" style="width: 200px;"
optionKey="id" optionValue="auditFirmName" noSelection="['': 'Select One']"
required="" class="form-control"/>

它显示以下工具提示>>

Cannot reference non-static symbol 'adtAuditPack' from static context



谁能帮我这个忙吗?!!!有没有办法做到这一点?

最佳答案

您可以在服务/ Controller 上构造下拉列表,然后通过模式传递给gsp页面并使用。

Controller /服务方法如下所示:

def c = AdtAuditorSchdlPack .createCriteria()
def results = c.list() {
and{
// your criteria logic
}
order('id', 'asc')
}

根据您的逻辑构造列表:
List auditFirmList= new ArrayList()
results.each { AdtAuditorSchdlPack adtAuditPack->
dataReturns.add([id: adtAuditPack?.auditFirm?.id, name: "${adtAuditPack?.auditFirm?.auditFirmName}"])
}

现在,您可以通过模型传递此列表,并按如下所示在下拉菜单中使用。
<g:select class=" form-control" id="auditPack0" name='auditPack0'
noSelection="${['': 'Select one...']}" from="${auditFirmList}" optionKey="id" optionValue="name"></g:select>

optionKey和optionValue在gsp View 页面中可能会标记为红色,但可以在运行时使用。

关于grails - 如何在Grails的选择框中显示父域字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28475340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com