BoldDeskPremium customer service software with affordable pricing: $10 for 3 agents. Try it for free.
Hi
I want use DataAdapter for send the current parameters of grid to server.
What class can I use in a controller for mapping parameters for pagination, sorting and filtering?
Thanks.
@Html.EJS().Grid("Grid").DataSource(dataManger =>
{
dataManger.Url("/Home/DataSource").CrossDomain(true).Adaptor("UrlAdaptor");
}).Columns(col =>
{
. . .
}).AllowPaging().AllowFiltering().Height("280").Render() |
public class HomeController : Controller
{
public ActionResult DataSource(DataManager dm)
{
var DataSource = OrderRepository.GetAllRecords();
DataResult result = new DataResult();
var Data = DataSource.ToList();
int count = DataSource.Count();
if (dm.where != null && dm.where.Count > 0)
{
. . .
count = Data.Count;
}
}
return dm.requiresCounts ? Json(new { result = Data.Skip(dm.Skip).Take(dm.Take), count = count }) : Json(Data);
}
}
}
public class DataManager
{
// for Paging
public int Skip { get; set; }
public int Take { get; set; }
// for sorting
public List<Sort> Sorted { get; set; }
public bool requiresCounts { get; set; }
//for filtering
public List<Wheres> where { get; set; }
public List<Search> search { get; set; }
}
public class Wheres
{
public List<Predicates> predicates { get; set; }
public string field { get; set; }
public bool ignoreCase { get; set; }
public bool isComplex { get; set; }
public string value { get; set; }
public string Operator { get; set; }
}
public class Sort
{
public string name { get; set; }
public string direction { get; set; }
} |