0

我的形象.. http://www.4shared.com/photo/Rj_0Ymdt/1111.html 这是我在控制器中的编码

def simpan(){
def banklimit = new BankLimit()
    for(int i = 0; i<params.limitPerDay.size();i++) {
        def baaa = CurrencyList.list(params)
        banklimit.dayLimit = params.limitPerDay[i].toBigDecimal()
        banklimit.alertLimit = (banklimit.dayLimit*0.8)     
        banklimit.currency = CurrencyList.findBySym(baaa.sym[i])
        banklimit.save()
    }
    return banklimit
}

<table>
            <thead>
                <tr>                        
                        <g:sortableColumn property="sym" title="${message(code: 'banklimit.currency.sym.label', default: 'Simbol')}" />                     
                        <g:sortableColumn property="limitday" title="${message(code: 'banklimit.dayLimit.label', default: 'Limit/Day')}" />                     
                </tr>           
            </thead>
            <tbody>
            <g:each in="${aaa}" status="i" var="bbb">
                <tr class="${(i % 2) == 0 ? 'even' : 'odd'}">

                    <td id="${bbb.id}"> ${fieldValue(bean: bbb, field: "sym")}</td>
                    <td  id="${bbb.id}" colspan="2"> <g:textField name="limitPerDay" value="${value}" /></td>               
                </tr>

            </g:each>   
                <tr>
                    <td></td>
                    <td><g:submitButton name="save" value="SAVE" /> <g:actionSubmit action="back" value="BACK" /></td>
                </tr>           
            </tbody>
        </table>

如果我单击“保存”按钮,我想将字段保存在 coloum 限制/天。根据我的编码,当我单击保存时,只有最后一行保存在数据库中...示例:有 4 行 .. 第 1、2、3、4 行填充,然后我单击保存 ..为什么只有第 4 行保存在数据库中? 第 1 ,2,3 行没有保存?

4

1 回答 1

0

您只有一个banklimit = new BankLimit(),但保存了 4 次。它是一个对象,在循环中使用不同的值保存了 4 次。

你需要:

for(int i = 0; i<params.limitPerDay.size();i++) {
    def banklimit = new BankLimit()
    //.... fill with values
    banklimit.save()
}

对于客户端,最好是:

<g:each in="${aaa}" status="i" var="bbb">
    <tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
        <td>${fieldValue(bean: bbb, field: "sym")}</td>
        <td colspan="2"><g:textField name="limitPerDay[${i}]" value="${value}" /></td>               
    </tr>
</g:each>
于 2013-09-03T04:22:39.317 回答