我是KendoUI的首发,我为创建网格编写此代码
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.Id).Groupable(false).Visible(false);
columns.Bound(p => p.BrandName);
columns.Bound(p => p.BrandAbbr);
columns.Bound(p => p.SrcImage);
columns.Bound(item => @item.Id).Title("Command").Filterable(false).Groupable(false)
.Template(@<text>
@Html.ActionLink("Edit", "Edit", new {id = @item.Id}, new {@class = "k-button k-button-icontext k-grid-Edit"})
@Html.ActionLink("Delete", "Delete", new {id = @item.Id}, new {@class = "k-button k-button-icontext k-grid-Delete"})
</text>).Width(200);
});
})
.ToolBar(toolbar =>
{
toolbar.Custom().Action("Create","Brand").Text("add");
}
)
.Groupable()
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.HtmlAttributes(new {style = "height:500px;"})
.DataSource(dataSource => dataSource
.Server()
.Model(model => model.Id(item => item.Id))
))
在这个网格中我有删除和编辑命令。我希望当用户点击编辑按钮进入网格视图编辑显示弹出窗体时。但我不知道该怎么做。请帮我。谢谢大家。
答案 0 :(得分:3)
您必须使用Custom command
,kendoWindow
(以显示弹出窗口)和template
(以显示弹出窗口内的内容)。
在网格中,
columns.Command(command => command.Custom("Edit").Click("editItem"));
然后(对于 - 点击“编辑”时会发生什么......)定义窗口的模板。
<script type="text/x-kendo-template" id="template">
<div id="details-container"> <!-- this will be the content of the popup -->
BrandName: <input type='text' value='#= BrandName #' />
.....
.....
</div>
</script>
<script type="text/javascript">
var detailsTemplate = kendo.template($("#template").html());
function editItem(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
var wnd = $("#Details").data("kendoWindow");
wnd.content(detailsTemplate(dataItem));
wnd.center().open();
}
</script>
答案 1 :(得分:3)
以下是更好的选择 - Demo-Popup editing
在网格的列声明部分中,
.Columns(columns =>
columns.Command(command => {
command.Edit(); //for edit functionality
command.Destroy(); //for delete functionality
})
.Editable(editable => editable.Mode(GridEditMode.PopUp))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.Id))
.Create(update => update.Action("EditingInline_Create", "Grid"))
.Read(read => read.Action("EditingInline_Read", "Grid"))
.Update(update => update.Action("EditingInline_Update", "Grid"))
.Destroy(update => update.Action("EditingInline_Destroy", "Grid"))
)