Telerik UI for ASP。NET MVC?下载30天免费试用

Incell编辑

用于ASP的Telerik UI TreeList组件。NET MVCenables you to implement cell editing and make and save batch updates.

有关可运行的示例,请参阅TreeList的批量编辑演示

设置TreeList的incell编辑模式。

  1. 类中添加一个新类~ /模型文件夹中。下面的示例使用EmployeeDirectoryModel名字

    public class EmployeeDirectoryModel {public int EmployeeId {get;设置;}公共字符串FirstName {get;设置;}公共字符串LastName {get;设置;}公共int?report to {get;设置;}}
  2. 开放TreeListController.cs并添加一个新的操作方法,该方法将返回目录为JSON。TreeList将对此操作发出Ajax请求。

    public JsonResult All_InCell([DataSourceRequest] DataSourceRequest request) {var result = GetDirectory()。ToTreeDataSourceResult(request, e => e.EmployeeId, e => e.ReportsTo, e => e);返回Json(结果);}
  3. 添加一个新的操作方法TreeListController.cs.它将负责保存新的数据项。命名方法Create_InCell

    public JsonResult Create_InCell([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable employees) {if (ModelState.IsValid) {foreach (var employee in employees) {employeeDirectory. > employees。插入(员工,状态);返回Json(employees.)ToTreeDataSourceResult(请求状态));}
  4. 添加一个新的操作方法TreeListController.cs.它将负责保存更新的数据项。命名方法Update_InCell

    public JsonResult Update_InCell([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable employees) {if (ModelState.IsValid) {foreach (var employee in employees) {employeeDirectory. > employees。更新(员工、状态);返回Json(employees.)ToTreeDataSourceResult(请求状态));}
  5. 添加一个新的操作方法TreeListController.cs.它将负责保存已删除的数据项。命名方法Destroy_InCell

    public JsonResult Destroy_InCell([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable employees) {if (ModelState.IsValid) {foreach (var employee in employees) {employeeDirectory. > employees。删除(员工、状态);返回Json(employees.)ToTreeDataSourceResult(请求状态));}
  6. 在视图中,配置TreeList以使用在前面步骤中创建的操作方法。的创建更新,摧毁action方法必须返回一个包含修改或删除记录的集合,这将使DataSource能够应用相应的更改。的创建方法必须返回一个包含已分配ID字段的已创建记录的集合。

@(Html.Kendo().TreeList() .Name("treelist") .Toolbar(toolbar => {toolbar. create ();toolbar.Save ();toolbar.Cancel ();}) . columns (columns => {columns. add()。字段(e => e.f firstname)。标题(“名字”).Width (220);columns.Add()。字段(e => e. lastname)。标题(“姓”).Width (100);columns.Add()。命令(c => {c.CreateChild())。文本(“添加子”); c.Destroy(); } ).Width(240); }) .Editable(e => e.Mode(TreeListEditMode.InCell).Move(false)) .Events(ev => ev.DataBound("onDataBound")) .DataSource(dataSource => dataSource .Batch(true) .Read(read => read.Action("All_InCell", "TreeList")) .Create(create => create.Action("Create_InCell", "TreeList").Type(HttpVerbs.Post)) .Update(update => update.Action("Update_InCell", "TreeList").Type(HttpVerbs.Post)) .Destroy(delete => delete.Action("Destroy_InCell", "TreeList").Type(HttpVerbs.Post)) .Model(m => { m.Id(f => f.EmployeeId); m.ParentId(f => f.ReportsTo); }) ) )

另请参阅

在本文中
Baidu
map