1

我正在使用 Struts2 JQuery 网格,它工作正常。

下面是一个网格示例:

<s:url var="remoteurl" action="jsontable"/>
    <sjg:grid
        id="gridtable"
        caption="Customer Examples"
        dataType="json"
        href="%{remoteurl}"
        pager="true"
        gridModel="gridModel"
        rowList="10,15,20"
        rowNum="15"
        rownumbers="true"
    >
        <sjg:gridColumn name="id" index="id" title="ID" formatter="integer" sortable="false"/>
        <sjg:gridColumn name="name" index="name" title="Name" sortable="true"/>
        <sjg:gridColumn name="country" index="country" title="Country" sortable="false"/>
        <sjg:gridColumn name="city" index="city" title="City" sortable="false"/>
        <sjg:gridColumn name="creditLimit" index="creditLimit" title="Credit Limit" formatter="currency" sortable="false"/>
    </sjg:grid>

我想在网格为空时显示特定消息,而不是显示空网格。我知道这可以通过将整个网格封装在一个s:if语句中来完成,但是如果网格有内容,我想避免两次检索信息(一次用于 if 语句,然后第二次用于网格本身)。

是否可以选择执行以下“isEmpty”消息?

<sjg:grid
        id="gridtable"
        ifEmpty="No data to display!"

或者其他类似的机制,我可以显示一个按钮来创建一个新条目?

4

1 回答 1

1

您可以使用事件onCompleteTopics和一些像这样的脚本:

<script type="text/javascript">
$.subscribe('completegrid', function(event, data) {
        var records = $('#gridtable').getGridParam('records');
            if(records < 1) {
                $('#gridcontainer').html('<span>none</span>');
            }
});
</script>

<sjg:grid
        ...
        onCompleteTopics ="completegrid"
        ...
>

请参阅http://code.google.com/p/struts2-jquery/wiki/GridTag#Topics上的参考资料

于 2012-09-14T13:51:23.383 回答