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、グリッドにコンテンツがある場合は情報を 2 回取得することは避けたいと思います (1 回目は if ステートメント用、2 回目はグリッド自体用)。

次の「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 に答える