var oProtocolTable = $('#ProtocolTable').DataTable({
"bPaginate": false,
"ordering": false,
"bFilter": false,
"bInfo": false,
"bProcessing": true,
"bLengthChange": false,
"ajax": "/Home/ProtocolAjaxHandler",
"language": {
"url": "Content/Russian.txt"
},
"fnServerParams": function (aoData) {
aoData.push({ "name": "GroupID", "value": GroupID });
aoData.push({ "name": "OrgInn", "value": orgINN });
aoData.push({ "name": "check_id", "value": check_id });
}
});
$('#OrganisationRisk tbody').on('click', 'tr', function () {
check_id = oOrganisationRisk.cell(this, 0).data();
oProtocolTable.ajax.reload();
});
/// <summary>
/// Class that encapsulates most common parameters sent by DataTables plugin
/// </summary>
public class JQueryDataTableParamModel
{
/// <summary>
/// Request sequence number sent by DataTable, same value must be returned in response
/// </summary>
public string sEcho{ get; set; }
/// <summary>
/// Text used for filtering
/// </summary>
public string sSearch{ get; set; }
/// <summary>
/// Number of records that should be shown in table
/// </summary>
public int iDisplayLength{ get; set; }
/// <summary>
/// First record that should be shown(used for paging)
/// </summary>
public int iDisplayStart{ get; set; }
/// <summary>
/// Number of columns in table
/// </summary>
public int iColumns{ get; set; }
/// <summary>
/// Number of columns that are used in sorting
/// </summary>
public int iSortingCols{ get; set; }
/// <summary>
/// Comma separated list of column names
/// </summary>
public string sColumns{ get; set; }
}
public ActionResult ProtocolAjaxHandler(JQueryDataTableParamModel param, int? GroupID, string OrgInn, int? check_id)
{
var riski = RiskiRepository.Show_Protocol(OrgInn ?? "", GroupID ?? 0, check_id ?? 0);
if (riski == null)
return Json(new
{
data = new List<string>()
},
JsonRequestBehavior.AllowGet);
return Json(new
{
aaData = from emp in riski
select new[] { emp.description, emp.date_check.ToShortDateString() }
},
JsonRequestBehavior.AllowGet);
}