web-dev-qa-db-ja.com

JQGridの一番上の行をプログラムで選択するにはどうすればよいですか?

JQGridの一番上の行をプログラムで選択するにはどうすればよいですか。ページで開いたときに一番上の行をすでに選択しておく必要があります。私のグリッドは説明的な列でソートされているため、最初の行のIDは任意の数値にすることができます。使用する方法を知っています。一番上の(最初の)行のROWIDを取得する方法がわかりません。方法は次のとおりです。

jQuery("#mygrid").setSelection(rowid, true);
12
MikeD

または、jqGrid APIを使用せずに、DOMをナビゲートして一番上の行を取得できるはずです。

var top_rowid = $('#mygrid tbody:first-child tr:first').attr('id');
9
Sam C

上記の答えは近いものでしたが、ケースはオフでした。そのはず:

$("#mygrid").getDataIDs()[0];

それは正しく動作するはずです。

18
rbdrbd

jqGridはsetSelectionメソッドをサポートしており、正しく呼び出す必要があります。

var grid = jQuery("#mygrid"),
    ids = grid.jqGrid("getDataIDs");
if(ids && ids.length > 0)
    grid.jqGrid("setSelection", ids[0]);
8
Rob Willis
 $("#mygrid").getDataIDs()[0]; // SO now requires 30 characters, so....
6
Craig Stuntz

私は以下を使用しました:

var grid = $('#list');
grid.jqGrid({
    ...
    gridComplete: function() {
        var ids = grid.jqGrid("getDataIDs");
        if(ids.length > 0) { 
            grid.jqGrid("setSelection", ids[0]);
        }
    },
    ...
});
1
user1325543

テーブルにヘッダー行がある場合の完全なコード:

var top_rowid = $('#mygrid tr:nth-child(2)').attr('id'); 
$("#mygrid").setSelection(top_rowid, true);
1
user941904

ヘッダー行がある場合は、次のことを試してください。

var top_rowid = $('#mygrid tbody:first-child tr:nth-child(2)').attr('id');
0
Yuri

ヘッダー行がある場合は、これを試してください:

$('#tb_par tbody:first-child tr:nth-child(2)').trigger("click");

そうでない場合:

$('#mygrid tbody:first-child tr:first').trigger("click");

JqG​​ridのクリックイベントを直接トリガーします。

0
Yagnesh Agola