インラインフィルタリング(DataViewを使用)を備えたスリックグリッドがあります。データの各行に一意のIDを割り当て、このID(行番号ではない)をUIの別の場所でdivを更新する関数に渡します。
フィルタリングしない場合、これは正常に機能します。ただし、IDを渡す前に列をフィルタリングすると、行番号を反映するようにIDが変更されます。文字列IDを行番号に変更することもできます。
それは奇妙に思えます。何が起こっているのか考えてみてください???
grid_msc.onClick.subscribe(function(e, args) {
var cell = grid_msc.getCellFromEvent(e);
var row = cell.row; // get row #
var row_ID = data_msc[row].id; // get the row ID, not row #
var msc = data_msc[args.row][grid_msc.getColumns()[args.cell].field];
alert("Row#:"+row+", RowID:"+row_ID+", Value:"+msc);
mscToUI(msc, row_ID);
});
// Add the selected item to the UI
function mscToUI(addC, cellNum) {
alert(addC+", "+cellNum);
$('#selectedMsc').append('<a href="javascript:removemsc('+cellNum+')" id="'+cellNum+'" class="rSel"><img src="images/remove.png" align="texttop" border="0" style="padding-right:4px;">'+addC+'<br /></a>');
}
})