0

これは本当に簡単に思えますが、それを行うことができませんでした。

現在、列挙型があります:

enum LocationCodes{
  USA(3), Canada(4), Carribean(5), USPacific(6)
  NANPCodeGroup(int value) {this.value = value}
  private final int value
  public int value() {return value}
}

そして、検索用のドロップダウンがあるgspにjqueryグリッドがあります

        <!-- table tag will hold our grid -->
        <table id="customer_list" class="scroll jqTable" cellpadding="0" cellspacing="0"></table>
        <!-- pager will hold our paginator -->
        <div id="customer_list_pager" class="scroll" style="text-align:center;"></div>

<script type="text/javascript">
        /* when the page has finished loading.. execute the follow */
        $(document).ready(function () {
            jQuery("#customer_list").jqGrid({
              url:'jq_customer_list',
              datatype: "json",
              colNames:['customer','location','id'],
              colModel:[
                {name:'customer'},
                {name:'location',stype:'select', searchoptions:{value:':All;USA:USA;Canada:Canada;Carribean:Carribean;USPacific:USPacific;'}},
                {name:'id', hidden:true}
              ],
              rowNum:2,
              rowList:[1,2,3,4],
              pager: jQuery('#customer_list_pager'),
              viewrecords: true,
              gridview: true
            });
            $("#customer_list").jqGrid('filterToolbar',{autosearch:true});
        });
        </script>

場所については、列挙値を入力します。何かご意見は?ありがとう!

4

2 に答える 2

1

これにより、';'で区切られた列挙型のリストが表示されます。

${LocationCodes?.values()?.collect{it.toString() + ':' + it.toString()}?.join(';')}

したがって、次のようなことを試すことができます。

searchoptions: {
    value: ":All;${LocationCodes?.values()?.collect{it.toString() + ':' + it.toString()}?.join(';')}" 
}

引用符のエスケープを再確認しますが、機能するはずです。:)

于 2013-01-21T17:07:50.380 に答える
0

これは機能しますか?(GSPだと仮定して)

{ name:'location',
  stype:'select',
  searchoptions:{ value:'":All;${LocationCodes.values().collect { "$it:${it.value()}" }.join(';')};"'}},

それはあなたに与えるはずです

':All;USA:3,Canada:4,Carribean:5,USPacific:6;'

しかし、私はそれをテストしていません:-/

于 2013-01-18T14:55:59.567 に答える