BoldSignEasily embed eSignatures in your .NET applications. Free sandbox with native SDK available.
@(Html.EJ().Grid<object>("FlatGrid")
.Datasource(ds => ds.URL("/Home/DataSource").Adaptor(AdaptorType.UrlAdaptor))
.AllowPaging()
.AllowFiltering()
.FilterSettings(f => f.FilterType(FilterType.Excel).MaxFilterChoices(500))
. . .
. ..
) |
@(Html.EJ().Grid<object>("FlatGrid")
.Datasource(ds => ds.URL("/Home/DataSource").Adaptor(AdaptorType.UrlAdaptor))
.AllowPaging()
.AllowFiltering()
.FilterSettings(f => f.FilterType(FilterType.Excel))
. . .
. . .
)
public ActionResult DataSource(DataManager dm)
{
MyDbDataContext db = new MyDbDataContext();
var result = db._30000Records.AsQueryable();
var count = db._30000Records.AsQueryable().Count();
if (dm.Where != null)
{
List<WhereFilter> Where = dm.Where;
for (var i = 0; i < Where.Count(); i++)
{
if (Where[i].IsComplex)
{
string cond = Where[i].Condition;
string connStr = "", connVal = "";
List<WhereFilter> pred = Where[i].predicates;
var str = 0;
for (var p = 0; p < pred.Count(); p++)
{
. .
. . .
}
string[] s = connVal.Split(',');
if (str > 0) result = result.Where(connStr, s);
else result = result.Where(connStr);
}
else
{
. . ..
. . .
}
}
}
count = result.AsQueryable().Count();
//OrderBy must be applied to anyone of the column to apply the skip and take
result = result.OrderBy("CompanyName").Skip(dm.Skip).Take(dm.Take);
if (dm.Sorted != null)
{
. ..
. .
result = result.OrderBy(sortText);
}
var list = result.ToList();
return Json(new { result = list, count = count }, JsonRequestBehavior.AllowGet);
} |