J'ai mis en place des données dans mon code et j'obtiens les valeurs du serveur en utilisant le code suivant pour jquery.recherche de données ne fonctionne pas côté serveur
Le code que je utilise est comme ci-dessous: -
var dt = $(".ajaxTable").DataTable({
ajax: getData,
// lengthChange: false,
serverSide: true,
processing: true,
searching: true,
"responsive": true,
"filter":true,
"sDom": '"<"right_fter"<"serch_xop"fp>>t<"bottom_tb_Pl"il><"clear">',
"bPagingType": "first_last_numbers",
// "bPaginate": false,
order: [],
columnDefs: [
{ orderable: false }
],
language: {
paginate: {
},
"search": '',
"searchPlaceholder":'Search property…'
},
pageLength: pageSize,
"columns": [
{
render: propertyFavorite, className: "column-center" },
{ "data": "RoofLinkText", className:"key", render: editLink },
{ "data": "Address" },
{ "data": "City" },
{ "data": "State" },
{ "data": "Code" },
{ "data": "Market" },
{ "data": "CompanyName" },
{ render:actionLink, orderable:false, className:"actions" }
],
order: [[1, "asc"]],
});
$(".dataTables_wrapper .right_fter").prepend('<div class="title_bar">Properties</div>');
dt.columns().iterator('column', function (ctx, idx) {
$(dt.column(idx).header()).append('<span class="sort-icon" />');
});
Mais quand je suis en train de chercher l'option la datatables ne parvient pas à détecter un changement dans la colonne de recherche.
EDIT
var getData = rm.configData({
tableSel: '.ajaxTable',
url: listUrl,
formatter: function (o) {
//console.log(o.TotalRecords);
return {
"recordsTotal": o.TotalRecords,
"recordsFiltered": o.TotalRecords,
"data": o.Properties
}
}
})
SERVEUR CODE CÔTÉ
public ActionResult List(
string sort = "RoofName",
bool sortAsc = true,
string search = null,
int page = 1,
int pageSize = 10,
string company = null,
string region = null,
string market = null,
string message = null)
{
Domain.Models.User user = Account.AccountManager.GetCurrentUser();
if (String.IsNullOrEmpty(region) && !String.Equals("all", user.Region, StringComparison.OrdinalIgnoreCase))
region = user.Region;
if (String.IsNullOrEmpty(market) && !String.Equals("all", user.Market, StringComparison.OrdinalIgnoreCase))
market = user.Market;
var model = new PropertySearchViewModel();
model.Sort = sort;
model.SortAsc = sortAsc;
model.Search = search;
model.Page = page;
model.PageSize = pageSize;
model.FilterCompanies = company;
model.FilterRegions = region;
model.FilterMarkets = market;
int[] companyIDs = ParamHelper.ToIntArray(model.FilterCompanies);
string[] regions = ParamHelper.ToStringArray(model.FilterRegions);
string[] markets = ParamHelper.ToStringArray(model.FilterMarkets);
if (model.Page == 0) model.Page = 1;
int totalRecords;
IEnumerable<RM.Domain.Models.Search.PropertySearch> properties = _roofData.Search(
page,
model.PageSize,
out totalRecords,
model.Sort,
model.SortAsc,
model.Search,
companyIDs,
regions,
markets,
user.UserID,
user.AssetManager,
user.PropertyManager,
user.RoofGroup,
null);
model.Properties = SearchPropertyModel.FromProperty(properties);
model.TotalRecords = totalRecords;
if (model.Page > model.TotalPages)
model.Page = 1;
JsonResult result = Json(model, JsonRequestBehavior.AllowGet);
return result;
}
Pouvez-vous me aider s'il vous plaît cela?
Cordialement Abhishek
Ajouter getData() comme référence .. – Bharat
@Bharat Ajouté le code pour plus de détails – Abhishek
utilisez-vous la recherche par défaut de DataTable? Que se passe-t-il lorsque vous recherchez quelque chose, êtes-vous touché par la méthode côté serveur? – Bharat