0

我有一个我创建的人员对象列表,每个对象有 11 个属性。我希望 9 个属性显示在 HTML 表中,另外 2 个用作元数据(决定哪些列可编辑等)。因此,我创建了一个带有要显示的数据列表的 JSON:

var jjData = from d in jData select new {
                                            DT_RowId = d.Id,              
                                            A = d.A,
                                            B = d.B,
                                            C = d.C,
                                            D = d.D,
                                            E = d.E,
                                            F = d.F,
                                            G = d.G,
                                            H = d.H,
                                            I = d.I,
                                            J = d.J,
                                            K = d.K,    // metadata
                                            L = d.L     // metadata
                                        };

然后jjData传递给 JSON 构造函数。如何让表格在 HTML/JavaScript 中知道我只希望显示 9 列?我有:

oTable = $("#personnelList").dataTable(
            {
                // other things 

                aoColumns: [
                { sTitle: "A", mDataProp: "A", sType: "string" },
                { sTitle: "B", mDataProp: "B", sType: "string" },
                { sTitle: "C", mDataProp: "C", sType: "string" },
                { sTitle: "D", mDataProp: "D", sType: "string" },
                { sTitle: "E", mDataProp: "E", sType: "string" },
                { sTitle: "F", mDataProp: "F", sType: "string" },
                { sTitle: "G", mDataProp: "G", sType: "string" },
                { sTitle: "H", mDataProp: "H", sType: "string" },
                { sTitle: "I", mDataProp: "I", sType: "string"},
                { sTitle: "J", mDataProp: "J", sType: "string" },
                { mDataProp: "K", sType: "string", display: "none" },
                { mDataProp: "L", sType: "string", display: "none" },
                ]

K 和 L 是元数据列。但是像这样,它们仍然出现,只是作为没有标题的列。还有什么其他方法可以告诉表格忽略这两列?

4

1 回答 1

1

将 [invalid] 替换display: "none"sClass参数。

oTable = $("#personnelList").dataTable({
    // other things 
    "aoColumns": [
        { "sTitle": "A", "mDataProp": "A", "sType": "string" },
        { "sTitle": "B", "mDataProp": "B", "sType": "string" },
        { "sTitle": "C", "mDataProp": "C", "sType": "string" },
        { "sTitle": "D", "mDataProp": "D", "sType": "string" },
        { "sTitle": "E", "mDataProp": "E", "sType": "string" },
        { "sTitle": "F", "mDataProp": "F", "sType": "string" },
        { "sTitle": "G", "mDataProp": "G", "sType": "string" },
        { "sTitle": "H", "mDataProp": "H", "sType": "string" },
        { "sTitle": "I", "mDataProp": "I", "sType": "string"},
        { "sTitle": "J", "mDataProp": "J", "sType": "string" },
        { "mDataProp": "K", "sType": "string", "sClass": "ui-helper-hidden" },
        { "mDataProp": "L", "sType": "string", "sClass": "ui-helper-hidden" }
    ]
});

使用为其定义sClass的类为参数设置一个值。display: none;

.ui-helper-hidden {
    display: none;
}

请参阅:http ://datatables.net/usage/columns

于 2013-11-08T23:04:21.470 回答