「data-id」などの属性として行の一意の「id」を含む非表示の列を作成しようとしています。行の背後にあるデータモデルを取得する方法がわからないためです。サーバー側のデータソースを使用しています。
columns: [{
property: 'hiddencolumn',
label: '',
hidden: true <-- ?????
} .. .. ],
フォーマッタでは、いくつかのプレースホルダー タグを使用します。
$.each(items, function(index, item) {
item.hiddencolumn = '<span data-id="' + item.id + '"</span>';
});
次に、行にクリック ハンドラーを追加し、data-id 列を取得します。
$('#MyGrid').on('loaded', function() {
$('#MyGrid > tbody > tr').click(function() {
console.log($(this).find('> td > span').attr('data-id'));
});
});
これは正しいです?または、tr タグ/行自体に data-id を追加しようとする必要がありますか? 上記の概念は機能しますが、列を非表示にする方法を知る必要があります:)
ありがとう
4月14日編集-これを解決するために私がしたことは次のとおりです。data-id を使用して、既存の列のスパンを非表示にします。私にとっては、モデルに「日付」と「id」フィールドがありました。日付フィールドに id をタグ付けすることにしました。
formatter: function(items) {
$.each(items, function(index, item) {
item.date = item.date + '<span style="visibility: hidden;" data-id="' + item.id + '"/>';
});
}
次に、そのようにIDを取得します(jqueryを使用)
$('#MyGrid').on('loaded', function() {
$('#MyGrid > tbody > tr').click(function() {
console.log($(this).find('> td > span').attr('data-id')); // value is here
});
});
わかった?