当我加载网页,它是一个局部页面,网格被填充有数据剑道网格数据未结合正确刷新后
但一旦我称这样
刷新方法<button onclick="doRefresh">refresh</button>
<script type="text/javascript">
var doRefresh = function() {
var kendogrid = $("#this_Id").data("kendoGrid");
kendogrid.refresh();
}
</script>
它应该刷新网格,使用当前绑定到网格的数据源来重建它。但网格变为空
我想我绑定模型错了,因为一旦我刷新网格我失去所有的数据。我试图绑定模型并使用bindto方法作为mentioned here。
这是我的观点:
@model List<bModel>
@(Html.Kendo().Grid(Model)
.Name("this_Id") // template expression, to be evaluated in the master context
.Columns(columns =>
{
columns.Bound(m => m.Sequence).Title("Seq.");
columns.Bound(m => m.JobType).Title("Job Type");
columns.Bound(m => m.Service).Title("Service");
columns.Bound(m => m.Status).Title("Status");
columns.Bound(m => m.PropertyType).Title("Property Type");
columns.Bound(m => m.PropertySubType).Title("Property SubType");
columns.Bound(m => m.Address).Title("Address");
})
.Sortable()
.Selectable(s => s.Mode(GridSelectionMode.Multiple).Type(GridSelectionType.Row))
.ClientDetailTemplateId("taskTemplate")
.DetailTemplate(
.......
)
.DataSource(dataSource => dataSource
.Server()
.Model(model => model.Id(jobItem => jobItem.Id))
)
.Read(read => read.Action("GetJobForBulkUpdate", "Project", new { jobId = "#=Id#" }))
.Events(events => events.DetailExpand("detailExpand"))
)
而且我打电话面板栏的视图这样
@(Html.Kendo().PanelBar()
.Name("panel-bar")
.ExpandMode(PanelBarExpandMode.Multiple)
.ExpandAll(true)
.Items(panel =>
{
panel.Add()
.Text("<span id='batch-update-panel-bar-job'>JOB-TASK</span>")
.Encoded(false)
.Content("<div id='update-model'>" + Html.Action("BatchUpdateJob", "BatchUpdate", new { projectId = Model.Id}).ToHtmlString() + "</div>");
})
)
和控制方法是这样的
public ActionResult BatchUpdateJob(int projectId)
{
mymodel = something;
return PartialView("_MymodelPageJob", mymodel);
}
public ActionResult GetJobForBulkUpdate(int projectId, [DataSourceRequest] DataSourceRequest request)
{
List<OfData> jobData = getData();
return Json(jobData.ToDataSourceResult(request));
}
@ SeanCh抱歉,周末很忙。 –