プログラムで JQGrid の一番上の行を選択するにはどうすればよいですか。ページで開いたときに、一番上の行を既に選択したい。私のグリッドは説明的な列で並べ替えられているため、最初の行の ID は任意の数値にすることができます。使用する方法は知っていますが、一番上の (最初の) 行の行 ID を取得する方法がわかりません。メソッドは次のとおりです。
jQuery("#mygrid").setSelection(rowid, true);
上記の答えは近いものでしたが、ケースはオフでした。そのはず:
$("#mygrid").getDataIDs()[0];
それは正しく動作するはずです。
または、jqGrid API を使用せずに、DOM をナビゲートして一番上の行を取得できるはずです。
var top_rowid = $('#mygrid tbody:first-child tr:first').attr('id');
jqGridは、setSelection
正しく呼び出す必要があるメソッドをサポートしています。
var grid = jQuery("#mygrid"),
ids = grid.jqGrid("getDataIDs");
if(ids && ids.length > 0)
grid.jqGrid("setSelection", ids[0]);
$("#mygrid").getDataIDs()[0]; // SO now requires 30 characters, so....
テーブルにヘッダー行がある場合の完全なコード:
var top_rowid = $('#mygrid tr:nth-child(2)').attr('id');
$("#mygrid").setSelection(top_rowid, true);
ヘッダー行がある場合は、これを試してください:
$('#tb_par tbody:first-child tr:nth-child(2)').trigger("click");
ない場合:
$('#mygrid tbody:first-child tr:first').trigger("click");
JqGrid のクリック イベントを直接トリガーします。
ヘッダー行がある場合は、これを試してください。
var top_rowid = $('#mygrid tbody:first-child tr:nth-child(2)').attr('id');