У меня есть объекты List of Personnel, которые я создал, каждый из которых имеет 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 - столбцы метаданных. Но вот так они все еще появляются, просто как столбцы без заголовков. Что еще можно сказать таблице, чтобы игнорировать эти два столбца?
Замените display: "none"
[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;
}