Hi
sorry to bother you again .
Well initially i binded the data to jquery datatable from DB where i get it .
Now i will demonstrate my required thing with example .
Initially i have a dropdownlist with 3 list items Countries , states,cities
Initially on load countries will be selected and all data will be displayed TILL THIS POINT I HAVE DONE IT .
Now when user changes his selection to STATES OR CITIES the only respective Data should BIND TO Datattable not all data ?
I have no clue how to achieve it but my lazy brain is thinking to create a new Datatable which is awful even to imagine .
My piece of code :
$(document).ready(function () {
$("#btnGuru").click(function () {
tableToExcel('myDataTable', 'W3C Example Table');
});
$.datepicker.regional[""].dateFormat = 'dd/mm/yy';
$.datepicker.setDefaults($.datepicker.regional['']);
debugger;
var dt = $('#myDataTable').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "Home/AjaxHandler",
"bJQueryUI": true,
"aoColumns": [
My controller action method code :
public ActionResult AjaxHandler(JQueryDataTableParamModel param)
{
var Lead_FullDetails = ser_obj1.Lead_List();
IEnumerable<LeadsInfoDummy> filteredLeads = Lead_FullDetails;
if (!string.IsNullOrEmpty(param.sSearch))
{
var ContactNameFilter = Convert.ToString(Request["sSearch_1"]);
var ContactAddressFilter = Convert.ToString(Request["sSearch_2"]);
var SourceFilter = Convert.ToString(Request["sSearch_3"]);
var DomainFilter = Convert.ToString(Request["sSearch_4"]);
var isContactNameSearchable = Convert.ToBoolean(Request["bSearchable_1"]);
var isContactAddressSearchable = Convert.ToBoolean(Request["bSearchable_2"]);
var isSourceSearchable = Convert.ToBoolean(Request["bSearchable_3"]);
var isDomainSearchable = Convert.ToBoolean(Request["bSearchable_4"]);
filteredLeads = Lead_FullDetails.Where(c => isContactNameSearchable && c.Contact_Name.ToLower().Contains(param.sSearch.ToLower())
||
isContactAddressSearchable && c.Contact_Address.ToLower().Contains(param.sSearch.ToLower())
||
isSourceSearchable && c.Lead_Source.ToLower().Contains(param.sSearch.ToLower())
||
isDomainSearchable && c.Domain.ToLower().Contains(param.sSearch.ToLower()));
}
else
{
filteredLeads = Lead_FullDetails;
}
var isContactNameSortable = Convert.ToBoolean(Request["bSortable_1"]);
var isContactAddressSortable = Convert.ToBoolean(Request["bSortable_2"]);
var isSourceSortable = Convert.ToBoolean(Request["bSortable_3"]);
var isDomainSortable = Convert.ToBoolean(Request["bSortable_4"]);
var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
Func<LeadSortModel, string> orderingFunction = (c => sortColumnIndex == 1 && isContactNameSortable ? c.Contact_Name :
sortColumnIndex == 2 && isContactAddressSortable ? c.Contact_Address :
sortColumnIndex == 3 && isSourceSortable ? c.Lead_Source :
sortColumnIndex == 4 && isDomainSortable ? c.Domain :
"");
var DisplayedLeads = filteredLeads.Skip(param.iDisplayStart).Take(param.iDisplayLength);
var result = from c in DisplayedLeads select new[] { Convert.ToString(c.Lead_Id), c.Contact_Name, c.Contact_Address, c.Lead_Source, c.Domain };
return Json(new
{
sEcho = param.sEcho,
iTotalRecords = Lead_FullDetails.Count(),
iTotalDisplayRecords = filteredLeads.Count(),
aaData = result
},
JsonRequestBehavior.AllowGet);
}
So how can we achieve this
My code is already posted in these links :
Data table Filter query ? Datapicker
fnRender giving issue in datatable ? mvc4
Regards