2

filter="true" を指定した struts2jquery グリッドを使用しています。したがって、クライアント側でデータをフィルタリングしています。ただし、大文字と小文字の区別のみでフィルタリングしています。ケースなしでデータを取得する必要があります。では、そのために何を追加する必要がありますか。いくつかの提案を期待しています。ありがとう !!!

4

2 に答える 2

0

私はjavaScriptで解決策を見つけました:

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags"%>

   <s:url var="remoteurl" action="jsontable" />

    <sjg:grid id="gridtableID" 

        caption="Primjer JSON TABELE" 
        dataType="json"
        href="%{remoteurl}" 
        gridModel="gridModel" 
        viewrecords="true"
        pager="true"
        pagerPosition="centar"
        navigator="true"
        navigatorSearch="true"
        filter="true"
        filterOptions="{stringResult:true}"
        loadonce="true"

         >

        <sjg:gridColumn name="id"
            index="id" title="ID" 
            formatter="integer"
            search="false"
            searchoptions="{sopt:['cn','eq','ne','bw','bn','ew','en','nc']}"
            editable="false" />
        <sjg:gridColumn name="name" index="name" title="Name" sortable="true"
            search="true"
            searchoptions="{sopt:['cn','eq','ne','bw','bn','ew','en','nc']}" />
        <sjg:gridColumn name="country" index="country" title="Country"
            search="true"
            searchoptions="{sopt:['cn','eq','ne','bw','bn','ew','en','nc']}"/>
        <sjg:gridColumn name="city" index="city" title="City" search="true"
            searchoptions="{sopt:['cn','eq','ne','bw','bn','ew','en','nc']}" />
        <sjg:gridColumn name="creditLimit" index="creditLimit"
            title="Credit Limit" formatter="currency" search="true"
            searchoptions="{sopt:['cn','eq','ne','bw','bn','ew','en','nc']}"/>

    </sjg:grid>

    <script>
    $(document).ready(function(){
        $("#gridtableID").jqGrid('setGridParam', { ignoreCase: true});
        });
    </script>
于 2012-10-30T14:15:05.713 に答える
0

これは少し遅いかもしれませんが、より簡単な解決策を次に示します。

ステップ 1: sgj:grid タグに onCompleteTopics を追加します。

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

ステップ 2: 次のコードを含む .subscribe を .jsp に追加します。

<script>
    $.subscribe('loadComplete', function (event, data){
         $("#gridtable").jqGrid('setGridParam', { ignoreCase: true});
    });
</script>

これにより、グリッドの上部にあるフィルター行の大文字と小文字の区別がオフになります。これは厳密にクライアント側のフィルタリング用です。

于 2015-06-09T19:21:46.083 に答える