Я хочу добавить строку динамически в datatable на pageload.Как динамически добавить строку в jquery Datatable и уточнить столбцы для отображения?
Я хочу разбить данные, поступающие из запроса ajax для данных в две строки (вторая строка добавляется динамически к строке, если условие истинно).
вот пример, который должен сделать его более понятным.
<table>
<thead>
<tr>
<td>Name</td>
<td>City</td>
<td>Work</td>
<td>Address</td>
<td>Pin</td>
<td style="display:none">Mobile</td>
<td style="display:none">Email</td>
<td style="display:none">Profession</td>
</tr>
</thead>
</table>
тд с атрибутом стиля не должны быть показаны вместо я хочу добавить еще одну строку, чтобы показать эти три поля.
Мой вопрос:
1), который обратный вызов я должен использовать, чтобы добавить строку в случае, если выполняется условие (условие является профессии == «IT») только затем добавить строку ниже этой строки которого условие выполнено.
2) Как я могу скрыть все данные из четырех столбцов (я скрываю только заголовок, но не данные, он добавит к самому телу таблицы).
В настоящее время я использую «столбцы», чтобы скрыть столбец, но он не работает.
добавляет дополнительный заголовок, а данные внутри тела не загружаются.
"aoColumns": [
{
"sName": "Mobile",
"sClass": "hidden",
"bSortable": false
},
{
"sName": "Email",
"sClass": "hidden",
"bSortable": false
},
{
"sName": "Profession",
"sClass": "hidden",
"bSortable": false
},
],
Мой скрытый класс прост
.hidden{
display:none;
}
Примечание: Это стороне сервера таблицы.
Спасибо заранее
EDIT:
стороне сервера Код
public ActionResult SummaryAjax(JQueryDataTableParamModel param)
{
int totalrecords = 0;
string username = Convert.ToString(Session["userName"]);
string month = this.Request.QueryString["month"];
string year = this.Request.QueryString["year"];
DateTime currentDate = Convert.ToDateTime("2015-09-01");
if (!string.IsNullOrEmpty(month) && !string.IsNullOrEmpty(year))
{
currentDate = Convert.ToDateTime(year + "-" + month + "-01");
}
var objparcelData = db.GetWIPForUserProc(username.ToLower(), currentDate).ToList();
totalrecords = objparcelData.Count();
if (param.iDisplayLength != -1)
objparcelData = (objparcelData.Skip(param.iDisplayStart).Take(param.iDisplayLength)).ToList();
var resultdata = (from p in objparcelData
select new GetWIPForUserProc_Result
{
Job = p.Job,
JobDescription = p.JobDescription,
Customer = p.Customer,
PreviousContractValue = p.PreviousContractValue,
ContractValue = p.ContractValue,
EstimatedFinalCost = p.EstimatedFinalCost,
EstimatedGrossMargin = p.EstimatedGrossMargin,
CostToDate = p.CostToDate,
PercentComplete = p.PercentComplete,
MarginToDate = p.MarginToDate,
RequisToDate = p.RequisToDate,
ExcessOfCostEarnings = p.ExcessOfCostEarnings,
MarginPercent = p.MarginPercent,
ChangeContractValue = p.ChangeContractValue,
ChangeEstimatedFinalCost = p.ChangeEstimatedFinalCost,
Backlog = p.Backlog,
Add1 = p.Add1,
ApprovCC = p.ApprovCC,
BillAdd1 = p.BillAdd1,
BZCode = p.BZCode,
isManualEntry = p.isManualEntry
}).ToList();
var result = from p in resultdata
select new[] { Convert.ToString(p.Job),
Convert.ToString(p.JobDescription),
Convert.ToString(p.Customer),
Convert.ToString(p.PreviousContractValue),
Convert.ToString(p.ContractValue),
Convert.ToString(p.EstimatedFinalCost),
Convert.ToString(p.EstimatedGrossMargin),
Convert.ToString(p.CostToDate),
Convert.ToString(p.PercentComplete),
Convert.ToString(p.MarginToDate),
Convert.ToString(p.RequisToDate),
Convert.ToString(p.ExcessOfCostEarnings),
Convert.ToString(p.MarginPercent),
Convert.ToString(p.ChangeContractValue),
Convert.ToString(p.ChangeEstimatedFinalCost),
Convert.ToString(p.Backlog),
Convert.ToString(p.Add1),
Convert.ToString(p.ApprovCC),
Convert.ToString(p.BillAdd1),
Convert.ToString(p.BZCode),
Convert.ToString(p.isManualEntry)
};
}
return Json(new
{
sEcho = param.sEcho,
iTotalRecords = totalrecords,
iTotalDisplayRecords = totalrecords,
aaData = result,
},
JsonRequestBehavior.AllowGet);
Я не знаю, можем ли мы добавить строку с серверной стороны? Я использую asp.net MVC –
Вы отметили, что это была серверная таблица. Таким образом, ваш код на стороне сервера должен проверить условие, а затем добавить строку в набор результатов перед возвратом Json. Вы должны будете отправить серверный код для меня, чтобы иметь возможность помочь вам с добавлением строки, но она должна быть довольно простой. – Aeroradish
Обратите внимание, что поля разные, но результат должен быть таким же. Просто возьмите все четыре поля, чтобы добавить их в новую строку. –