我正在尝试创建一个隐藏列,其中包含该行的唯一“id”作为“data-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'));
});
});
这是正确的吗?或者我应该尝试将 data-id 添加到 tr 标记/行本身?上述概念有效,但我只需要知道如何隐藏该列:)
谢谢
编辑 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
});
});
可以吗?
最佳答案
columns
属性仅适用于可见列。因此,听起来您需要删除它,并在格式化程序中为其他(可见)列之一创建一个带有 data-id
属性的范围。如果有任何按钮或其他控件可对行中的项目进行操作,我通常会在最后一列中执行此操作。
关于fuelux - 如何隐藏fuelux数据网格中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15857471/