2

私は KendoComboBox を MVC モードで持っています。これらのコンボは値のリストを正常にロードします。

ここで、これらの 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 を "Find" として使ってみたり、jQuery を使ってデータを読み取ったりしましたが、できません。ヘルプはありますか?たとえば、この他の投稿を試してみました。剣道UIドロップダウンリストのすべてのデータを取得するには? しかし、KendoDropDownではなくKendoComboBoxを使用しているため、うまくいきません。

ありがとう!

4

1 に答える 1

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");
})
于 2015-04-28T17:55:57.923 に答える