【发布时间】:2014-07-31 05:44:42
【问题描述】:
我有一个带有一些环境数据的剑道网格。网格的字段之一是“isDefault”,它接收 1 或 0(对于真或假)。在数据库中,我有一个触发器,当某些记录设置为 isDefault = 1 时,任何其他记录都会更新为 isDefault = 0,以确保只有一个默认环境。
Kendo 网格工作正常,它绑定数据并更新记录就好了,但更新后,网格没有刷新所有记录,如果有,比如说,isDefault =1 的记录 1,我更新记录 4 到 isDefault = 1 触发触发器并将所有其他记录更新为 isDefault = 0 但网格仍然显示记录 1 和 isDefault = 1 现在记录 4 和 isDefault = 1
这是我认为的代码:
Html.Kendo().Grid<Models.Environment>()
.Name("environmentGrid")
.Sortable()
.ToolBar(tb => tb.Create())
.Editable(editable => editable.Mode(GridEditMode.PopUp))
.Columns(cols =>
{
cols.Bound(c => c.Name).Width(150).Sortable(true);
cols.Bound(c => c.ConnectionString).Width(150).Sortable(true);
cols.Bound(c => c.Template).Width(150).Sortable(true);
cols.Bound(c => c.isDefault).Width(150).Sortable(true);
cols.Bound(c => c.StatusID).Width(150).Sortable(true);
cols.Command(command => { command.Edit();}).Width(60);
})
.DataSource(ds => ds
.Ajax()
.Model(model =>
{
model.Id(m => m.EnvironmentID);
})
.Read(r => r.Action("GetEnvironments", "Admin"))
.Update(update => update.Action("UpdateEnvironments", "Admin"))
.Create(update => update.Action("UpdateEnvironments", "Admin"))
)
这是我控制器上的代码:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UpdateEnvironments([DataSourceRequest] DataSourceRequest dsRequest, Environment environment)
{
environment.ModifiedBy = userName;
if (environment != null && ModelState.IsValid)
{
if (environment.EnvironmentID != 0)
{
var toUpdate = xgr.EnviromentRepository.ListAll().FirstOrDefault(p => p.EnvironmentID == environment.EnvironmentID);
TryUpdateModel(toUpdate);
}
xgr.EnviromentRepository.Save(environment);
}
return Json(ModelState.ToDataSourceResult());
}
提前感谢您的回答。
【问题讨论】:
标签: c# asp.net-mvc kendo-ui telerik kendo-grid