ho una griglia di Kendo impostato in questo modo:griglia Aggiornamento di Kendo con valore editor di dropdownlist
@(Html.Kendo().Grid<ParticipatingDentalEE>()
.Name("DentalEE")
.Columns(columns =>
{
columns.Bound(p => p.State).Title("State").Width(150).EditorTemplateName("State");
columns.Bound(p => p.Count).Title("Count").Width(150);
columns.Command(c => { c.Edit(); c.Destroy(); });
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(m => {
m.Id(p => p.State);
m.Field(p => p.State).Editable(true);
m.Field(p => p.Count).Editable(true).DefaultValue("");
})
.Create(update => update.Action("EditingInline_Create", "Dental"))
.Read(read => read.Action("EditingInline_Read", "Dental"))
.Update(update => update.Action("EditingInline_Update", "Dental"))
.Destroy(update => update.Action("EditingInline_Destroy", "Dental"))
)
//.Scrollable()
//.Sortable()
.Editable(e => e.Mode(GridEditMode.InLine))
)
La colonna "Stato" è costituito da un modello di discesa che assomiglia a questo:
@(Html.Kendo().DropDownList()
.Name("States") // Name of the widget should be the same as the name of the property
.DataValueField("CODE") // The value of the dropdown is taken from the EmployeeID property
.DataTextField("NAME") // The text of the items is taken from the EmployeeName property
.BindTo((System.Collections.IEnumerable)ViewData["States"]) // A list of all employees which is populated in the controller
)
Il mio menu a discesa viene visualizzato correttamente quando si modifica o crea un elemento, ma quando si salva l'elemento il valore dell'elenco a discesa non rimane nella griglia. C'è qualcos'altro che ho bisogno di istituire per fare questo?
Sì, hai ragione su quell'errore, ma ho anche scoperto che avevo bisogno che Text/Value fosse lo stesso per poterlo visualizzare correttamente durante il salvataggio. – Goose
Ho questa funzionalità funzionante, ma quando accedo alla modalità editor, l'elenco a discesa imposta automaticamente il primo elemento nella raccolta ViewBag e non il valore effettivo, pertanto potrebbe verificarsi un aggiornamento accidentale se l'utente non modifica manualmente il menu a discesa in base a ciò che è in precedenza? Sai come posso gestire questo scenario, o anche usare DataSource.read sul menu a discesa invece di ViewBag – CSharper