0

私はjqGrid v4.0を使用しており、完全に機能していますが、jqGrid v4.4.1にアップグレードして以来、FilterTolBarには選択フィールドが表示されなくなりました。

これが私のコードです:

<script type="text/javascript">
$(function() {
    var grid = $("#grid_container");
    grid.jqGrid({
        url:'index.php?getData=xml&',
        datatype: "xml",
        colNames:['id', 'user','sid', 'Status'],
        colModel:[
            {name:'id', index:'id', width:150, hidden:true},
            {name:'user', index:'user', width:150 , stype:'select', editoptions:{value: "Jhon:Jhon;Adam:Adam"}, searchoptions:{sopt:['cn']}},
            {name:'sid', index:'sid', width:65 },
            {name:'status', index:'status', width:110 },
        ],
        rowNum:20,
        rowList:[10,20,100],
        pager:'#grid_pager',
        sortname: 'user',
        sortorder: 'desc',
        height:'100%'
    })
    .jqGrid('filterToolbar' ,{searchOnEnter : true});

});

ご提案ありがとうございます。

4

1 に答える 1

0

jqGrid の現在のバージョンは 4.4.4 です。古いものを使用する必要がある場合は、同じvalueものを だけでなくeditoptionssearchoptionsも含めることができます。使用する場合は、filterToolbar特に検索用に空の値を追加することをお勧めします。列のフィルタリングを許可しません。したがって、user列の定義は次のようになります

{ name: 'user', stype: 'select',
    editoptions: { value: "Jhon:Jhon;Adam:Adam" },
    searchoptions: { sopt: ['eq'], value: ":Any;Jhon:Jhon;Adam:Adam" } }

データを正しく入力すると、行の属性 (グリッドの要素) が入力データの属性に基づいて割り当てられるidため、非表示の列を削除することを検討する必要があります (ドキュメントを参照)。データの編集を使用しない場合は、削除してのみ使用できます。for selectの代わりに使用することを強くお勧めします。will を使用しても、や などのオプションを 1 つの選択で使用することはできません。ユーザーが両方を選択すると、選択されます。ユーザーがツリー オプションを選択すると、が選択されます。そのため、jqGrid はユーザーが期待するようには機能しません。id<tr>ideditoptionssearchoptions"eq""cn""cn""a""ab""abc""ab""ab""abc""a""a""ab""abc"

gridview: trueパフォーマンスを向上させるために使用するすべてのグリッドに追加で含めることをお勧めします。ほとんどのユースケースでは、の使用autoencode: trueも必要です。

于 2013-02-13T13:59:11.450 に答える