KendoComboBox MVC находит значение и, если существует, выбирает его, если нет, выбирает другое значение

У меня есть KendoComboBox в режиме MVC, эти Combo загружают список значений.

Теперь мне нужно загрузить эти ComboBox, но мне нужно, чтобы вы автоматически предварительно выбрали определенное значение, только если оно существует в списке значений, если значение не найдено, предварительно выберите другое значение.

@(Html.Kendo().ComboBox()
    .Name("Test")
    .HtmlAttributes(new { style = "width:100%" })
    .Placeholder("Seleccione")
    .DataTextField("name")
    .DataValueField("Id")
    .Filter("contains")        
    .DataSource(source =>
    {    
        source.Read(read =>
        {
            read.Action("CargaCombo", "Test");                   
        });               
    })
    .Value("TODOS")
    .Suggest(true)
)

Я пытался использовать Events как «Найти», читать с помощью jQuery данные, но не могу. Любая помощь? Например, я попробовал этот другой пост, Как получить все данные выпадающего списка пользовательского интерфейса кендо? но это не работает для меня, возможно, поскольку я использую KendoComboBox, а не KendoDropDown.

Спасибо!


person Hernaldo Gonzalez    schedule 28.04.2015    source источник


Ответы (1)


Наконец, я использую DataBoundEvent:

<script type="text/javascript">
    function onDataBound() {        
        var user = $.trim($(".userlogged").text());    
        var encontrado = false;           
        var elementos = $("#Test").data("kendoComboBox").dataSource.data();
        $.each(elementos, function (index, value) {
            if (value.Nombre == user) {
                $("#Test").data("kendoComboBox").value(user);
                encontrado = true;
                return;
            }
        });

        if (!encontrado) {
            $("#Test").data("kendoComboBox").value(0);
        }
    }    
</script>

И добавьте событие:

.Events(e =>
{
    e.DataBound("onDataBound");
})
person Hernaldo Gonzalez    schedule 28.04.2015