asp.net mvc - demos - Valor predeterminado de la cuadrícula KendoUI con anotación de datos
telerik demos (2)
Estoy usando Kendo UI Grid con ASP.NET MVC Helpers y columnas generadas automáticamente.
Tengo una [DefaultValue(60 * 60)]
en mi modelo de vista, pero los ayudantes de Kendo no parecen respetar eso.
¿Puedo especificar el valor predeterminado (probablemente con anotaciones de datos) sin tener que describir manualmente las columnas?
Para los valores predeterminados, me gusta usar el constructor, que creo que Kendo debe actualizar una instancia de su modelo, así que esto funcionaría.
Modo de vista
public class ViewModel
{
public string Name { get; set; }
public ViewModel()
{
Name = "First name";
}
}
EDITAR
Después de hacer algunas búsquedas en sus documentos, parece que las anotaciones de datos o el valor predeterminado del constructor no son compatibles y debe definir los valores predeterminados en la definición de la grilla. Ver http://docs.telerik.com/kendo-ui/aspnet-mvc/helpers/grid/faq#how-do-i-specify-default-property-values-when-a-new-item-is-created para más.
si definió las columnas en la cuadrícula manualmente, necesita establecer el valor predeterminado de esta manera a pesar de que haya definido el valor predeterminado en la anotación o no
@(Html.Kendo()
.Grid()
.DataSource( d=> d.Ajax()
.Model(m=>{
m.Field(f=>f.YourField).DefaultValue(YourValue);
}))
)
así que para las columnas autogeneradas puedes probar lo siguiente
@(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>
Espero que esto te ayudará