내 그리드는 다음과 같이 만들 수 있습니다 :검도 그리드 발생하지 않습니다 푸시 이벤트
@(Html.Kendo().Grid<MyProject.Models.DataObjects.MyObject>()
.Name("my-object-grid")
.Columns(columns =>
{
columns.Bound(p => p.ID).Hidden();
columns.Bound(p => p.Name).Width(300);
columns.Command(command =>
{
command.Edit().Text("Modify")
.UpdateText("Save")
.CancelText("Cancel")
.HtmlAttributes(new { style = "width:90px;height:30px;font-size:12px;" });
command.Destroy().Text("Delete").HtmlAttributes(new { style = "width:90px;height:30px;font-size:12px;" });
}).Width(220);
})
.ToolBar(toolbar => toolbar.Create().Text("Add").HtmlAttributes(new { style = "width:120px;height:30px;float:left;" }))
.Editable(editable => editable.Mode(GridEditMode.PopUp)
.Window(win => win.Title("MyObject")).TemplateName("MyObject"))
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Model(model =>
{
model.Id(p => p.ID);
})
.Create(update => update.Action("MyObject_Create", "MyObject"))
.Read(read => read.Action("MyObject_Read", "MyObject"))
.Update(update => update.Action("MyObject_Update", "MyObject"))
.Destroy(update => update.Action("MyObject_Delete", "MyObject"))
.Events(evt => evt.Push("myObjectGridDataSource_push").Error("myObjectGridDataSource_error"))
)
)
그리고 foolwingo의 javacript 핸들러는 이후에 정의됩니다 도우미에 의해 생성
<script type="text/javascript">
function myObjectGridDataSource_push(e) {
alert(e.type);
}
function myObjectGridDataSource_error(e) {
alert(e.status);
}
</script>
자바 스크립트 괜찮아 보이지만 그리드의 일부 항목을 추가/편집/제거 할 때 이벤트 처리기가 실행되지 않습니다. 그러나 컨트롤러에 대한 요청은 정상적으로 작동합니다.
격자 (팝업 사용)의 편집 모드와 관련이 있습니까? 내가 잘못하고있는 것을 찾을 수 없습니다 ...
좋아요, 나는 푸시 이벤트가 무엇인지에 대해 오해했습니다. 내가 필요한 것은 새로운 객체를 생성하고 성공적으로 생성 될 때, 새로 생성 된 객체의 ID가'MyObject_Create()'메소드에 의해 반환되고이 ID를 얻고 사용자를 다른 페이지 기반으로 리디렉션하고 싶습니다. 이드는. 응답을 얻을 수있는 이벤트가 있습니까? 이걸로 나를 도울 수 있니? 미리 감사드립니다! – amp
그리드에 dataBinding 이벤트를 구현하고 거기에서 새로 생성 된 객체를 캡처해야합니다. –
하지만 정렬, 페이징을 할 때 데이터 바인딩이 시작됩니다 ... ID가없는 경우 어떻게 새롭게 생성 된 개체를 검색 할 수 있습니까? – amp