1

jqWidgetsからのjqxGridの使用について少し質問があります。テーブルの行を別のページから動的に選択しようとしています。私は自分自身を説明します:

の最初のページには、ユーザーのリストが含まれています。このリストでユーザーを選択すると、新しいページが開き、たとえば、PHP を介して GET で返されたユーザーの ID が表示されます。次に、情報が少ないが、ユーザーが既に選択されている新しいグリッドを生成したいと考えています。

彼女のインデックスで行を選択する方法を見つけましたが、機能して$('#grid').jqxGrid('selectrow', 10);いません.1つのテーブルがソートまたはフィルタリングされると、インデックスが変更されます...

それで、これを行う方法はありますか?

最初のテーブルで行を選択するときに呼び出されるコードは次のとおりです。

$('#search_right').bind('rowselect', function(event){
    var iSocID = $('#search_right').jqxGrid('getcellvalue', event.args.rowindex, 'id');
    $("#soci_right").load('activites/soc.search.php?a=form&id='+iSocID);
    $('#content').jqxTabs('select', 3);
});

そして、これが私の2番目のリストの生成コードです:

var url = 'activites/soc.search.php';
    var source = {
        datatype: "json",
                datafields: [
                    { name: 'name', type: 'string'},
                    { name: 'id', type: 'int'},
                ],
                id: 'id',
                url: url,
                root: 'data'
    };

    dataSource = new $.jqx.dataAdapter(source);

    $("#soci_table").jqxGrid({
        source: dataSource,
        theme: jqxGlobalTheme,
        columnsresize: true,
        sortable: true,
        filterable: true,
        showfilterrow: true,
        columns: [
            { text: 'Name', dataField: 'name'},     
            { text: 'ID', dataField: 'id',  hidden:true},
        ]
    });
4

1 に答える 1

1

jqWidgets のサポートに連絡した後 (誰が助けてくれなかったのか......)、トリックを実行する小さなスニペットを作成しました... しかし、jqWidget はこれを jqxGrid のデフォルトの機能として追加する必要があると思います!

ここに私のコードを貼り付けます。

    $('#search_right').bind('rowselect', function(event){
    var iSocID = $('#search_right').jqxGrid('getcellvalue', event.args.rowindex, 'id');

         // Create filter
        var filtergroup = new $.jqx.filter();
        var filtervalue = iSocID;
        var filtercondition = 'EQUAL';

        var filter1 = filtergroup.createfilter('stringfilter', filtervalue, filtercondition);

        var filter_or_operator = 1;
        filtergroup.addfilter(filter_or_operator, filter1);

        $("#soci_table").jqxGrid('addfilter', 'id', filtergroup);

        // Apply filter

        $("#soci_table").jqxGrid('applyfilters');

        // Select row

        $('#soci_table').jqxGrid('selectrow', 0);

        // Remove filter

        $("#soci_table").jqxGrid('clearfilters');
    });
于 2013-10-02T15:40:59.217 に答える