我将 MVC 版本的 Telerik 控件ASP.NET MVCrazor View 引擎 一起使用。我有一个 AJAX 网格。当我单击编辑时,我希望它以表单样式显示数据。但问题是我想以我希望它们显示的方式重新排列表单控件。我怎么会做这样的事情?目前,控件都在彼此之下。我想创建自己的布局以进行编辑。

我在 View 上有很多其他控件,其中之一就是这个网格。我的 View 模型对象有一个子对象列表,我想用我的网格来填充这个列表。

我的 View 的 View 模型:

public class EditGrantApplicationViewModel 
{ 
   public string EmployeeNumber { get; set; } 
   public string Title { get; set; } 
   public string FirstName { get; set; } 
   public string LastName { get; set; } 
   // Other properties 
 
   // I want this to be populated from the grid 
   public IEnumerable<Children> Children { get; set; } 
} 

我的网格的子列表代码:

@(Html.Telerik().Grid(Model.Children) 
   .Name("grdChildren") 
   .Columns(column => 
      { 
         column.Bound(x => x.Id); 
         column.Bound(x => x.FullName); 
      } 
   ) 
   .DataKeys(keys => 
      { 
         keys.Add(x => x.Id); 
      } 
   ) 
   .DataBinding(dataBinding => 
      { 
         dataBinding.Ajax() 
            .Select("_SelectAjaxEditing", "Grid") 
            .Insert("_InsertAjaxEditing", "Grid") 
            .Update("_SaveAjaxEditing", "Grid") 
            .Delete("_DeleteAjaxEditing", "Grid"); 
      } 
   ) 
   .ToolBar(commands => commands.Insert().ButtonType(GridButtonType.Text)) 
   .Editable(editing => editing.Mode(GridEditMode.InForm)) 
) 

我不确定我的编辑器模板应该是什么样子?它必须扩展什么?而且我无法以内联形式显示它。我研究了布拉德威尔逊的样本,但我没有得到它。有人可以解释发生了什么吗?

只是另一个问题.. 在我的另一个页面上,我有一个网格和页面上的其他 HTML 控件。如果我忙于在网格中编辑数据,然后单击插入,如何防止页面上的其他控件未被验证?

请您参考如下方法:

您可以为您的模型定义自定义编辑器模板,并根据需要排列字段。 This代码库项目展示了如何操作。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!