My problem is that everytime i use the .Filterable it is refreshing . .
Controller:
public partial class ApplicantController : Controller
{
Entities context = new Entities();
public ActionResult Index()
{
return View();
}
public ActionResult GetApplicant([DataSourceRequest] DataSourceRequest request)
{
IQueryable<APPLICANT> applicants = context.APPLICANTs;
DataSourceResult result = applicants.ToDataSourceResult(request);
return Json(result,JsonRequestBehavior.AllowGet);
}
public ActionResult UpdateApplicant([DataSourceRequest] DataSourceRequest request, APPLICANT applicant)
{
var applicantToUpdate = context.APPLICANTs.First(app => app.APPLICANT_ID == applicant.APPLICANT_ID);
TryUpdateModel(applicantToUpdate);
context.SaveChanges();
return Json(ModelState.ToDataSourceResult(),JsonRequestBehavior.AllowGet);
}
public ActionResult InsertApplicant([DataSourceRequest] DataSourceRequest request, APPLICANT addappli)
{
if (ModelState.IsValid)
{
context.APPLICANTs.Add(addappli);
context.SaveChanges();
}
return Json(new[] { addappli }.ToDataSourceResult(request));
}
}
Index :
@using Kendo.Mvc.UI
@(Html.Kendo().Grid<_2ndApplicantKendo.Models.APPLICANT>()
.Name("grid")
.ToolBar(tb => tb.Create())
.Columns(columns =>
{
columns.Bound(p => p.APPLICANT_LastName).Width(130);
columns.Bound(p => p.APPLICANT_FirstName).Width(130);
columns.Bound(p => p.APPLICANT_MiddleName).Width(130);
columns.Bound(p => p.APPLICANT_Address).Width(130);
columns.Bound(p => p.APPLICANT_City).Width(130);
columns.Bound(p => p.APPLICANT_Phone).Width(160);
columns.Bound(p => p.APPLICANT_Email).Width(160);
columns.Command(cmd =>
{
cmd.Edit();
});
})
.Filterable()
.Groupable()
.Pageable(page => page.Enabled(true).PageSizes(new Int32[] { 10, 20, 40 }))
.Scrollable()
.Editable(a => a.Mode(GridEditMode.PopUp))
.DataSource(dataSource => dataSource.Ajax()
.Model(model => model.Id(c => c.APPLICANT_ID))
.Read("GetApplicant", "Applicant")
.Update("UpdateApplicant", "Applicant" )
.Create("InsertApplicant", "Applicant")))
Controller:
public partial class ApplicantController : Controller
{
Entities context = new Entities();
public ActionResult Index()
{
return View();
}
public ActionResult GetApplicant([DataSourceRequest] DataSourceRequest request)
{
IQueryable<APPLICANT> applicants = context.APPLICANTs;
DataSourceResult result = applicants.ToDataSourceResult(request);
return Json(result,JsonRequestBehavior.AllowGet);
}
public ActionResult UpdateApplicant([DataSourceRequest] DataSourceRequest request, APPLICANT applicant)
{
var applicantToUpdate = context.APPLICANTs.First(app => app.APPLICANT_ID == applicant.APPLICANT_ID);
TryUpdateModel(applicantToUpdate);
context.SaveChanges();
return Json(ModelState.ToDataSourceResult(),JsonRequestBehavior.AllowGet);
}
public ActionResult InsertApplicant([DataSourceRequest] DataSourceRequest request, APPLICANT addappli)
{
if (ModelState.IsValid)
{
context.APPLICANTs.Add(addappli);
context.SaveChanges();
}
return Json(new[] { addappli }.ToDataSourceResult(request));
}
}
Index :
@using Kendo.Mvc.UI
@(Html.Kendo().Grid<_2ndApplicantKendo.Models.APPLICANT>()
.Name("grid")
.ToolBar(tb => tb.Create())
.Columns(columns =>
{
columns.Bound(p => p.APPLICANT_LastName).Width(130);
columns.Bound(p => p.APPLICANT_FirstName).Width(130);
columns.Bound(p => p.APPLICANT_MiddleName).Width(130);
columns.Bound(p => p.APPLICANT_Address).Width(130);
columns.Bound(p => p.APPLICANT_City).Width(130);
columns.Bound(p => p.APPLICANT_Phone).Width(160);
columns.Bound(p => p.APPLICANT_Email).Width(160);
columns.Command(cmd =>
{
cmd.Edit();
});
})
.Filterable()
.Groupable()
.Pageable(page => page.Enabled(true).PageSizes(new Int32[] { 10, 20, 40 }))
.Scrollable()
.Editable(a => a.Mode(GridEditMode.PopUp))
.DataSource(dataSource => dataSource.Ajax()
.Model(model => model.Id(c => c.APPLICANT_ID))
.Read("GetApplicant", "Applicant")
.Update("UpdateApplicant", "Applicant" )
.Create("InsertApplicant", "Applicant")))