具有数据注释的KendoUI网格默认值

Nik*_*tov 4 asp.net-mvc data-annotations kendo-ui kendo-grid kendo-asp.net-mvc

我正在使用带有ASP.NET MVC助手的Kendo UI Grid和自动生成的列.

[DefaultValue(60 * 60)]我的视图模型中有注释,但剑道助手似乎并不尊重这一点.

我是否可以指定默认值(可能包含数据注释)而无需手动描述列?

Mon*_*nah 6

如果你手动定义网格中的列,你需要设置默认值,尽管你在注释中定义了默认值

 @(Html.Kendo()
      .Grid()
      .DataSource( d=> d.Ajax()
                        .Model(m=>{
                            m.Field(f=>f.YourField).DefaultValue(YourValue);
                 }))
)
Run Code Online (Sandbox Code Playgroud)

因此,对于自动生成的列,您可以尝试以下操作

@(Html.Kendo()
      .Grid()
      .Events( e => e.Edit("onEdit"))
)

<script type="text/javascript">
      function onEdit(e) {   
           //check if record is new
           if (e.model.isNew()) {
                // set the value of the model property like this                    
                e.model.set("PropertyName", Value);
                // for setting all fields, you can loop on 
                // the grid columns names and set the field
           }
    }
</script>
Run Code Online (Sandbox Code Playgroud)

希望对你有帮助