ASP.NET MVC Telerik Grid:如何在编辑时使一列只读?

mut*_*ute 1 asp.net-mvc user-interface telerik telerik-mvc telerik-grid

我有一个ASP.NET MVC Telerik Grid(不是Kendo).我有一个有两列的网格.第一列是我可以选择的项目的下拉列表,第二列只是一个可编辑的文本框.

我想在编辑时将第一列设置为READ ONLY,这意味着我只能编辑第二列而不能编辑第一列.我将第一列设置为只读取模型(模型类中的[ReadOnly]标签)和视图(即可编辑(假)).

当我这样做时,我不允许像我想要的那样在编辑模式下编辑第一列.但是,当我去插入/创建一个新记录时......第一列是空白的,我只能输入第二列的值.

我已经尝试了一切并环顾四周,但找不到解决方案.

Chr*_*gan 6

试试这个 :

model.Field(p => p.Name).Editable(false)
Run Code Online (Sandbox Code Playgroud)

例:

@(Html.Kendo().Grid<OrderViewModel>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.Id).Sortable(false).Visible(false);
        columns.Bound(p => p.Name);
        columns.Bound(p => p.Notes);
        columns.Command(command => { command.Edit(); }).Width(172);
    })
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .HtmlAttributes(new { style = "height:550px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Read(read => read.Action("Orders_Read", "Grid"))
        .Model(model => {
                 model.Id(p => p.Id);
                 model.Field(p => p.Name).Editable(false);
         })
        .Update(update => update.Action("EditingInline_Update", "Grid"))
    )
)
Run Code Online (Sandbox Code Playgroud)

参考:http://docs.telerik.com/kendo-ui/aspnet-mvc/helpers/grid/configuration#model