2016-10-17 8 views
0

剣道の2016.3.914.440バージョンを使用していて、コンボボックスについて質問があります。私のデータソースが単一の値しか返さない場合、どのようにそれをComboBoxに割り当てることができるので、ユーザーは値を入力する必要はありませんか?私は.SelectIndex(0)を試しましたが、それはすべての状況下で動作するので、.DataBoundではレコード数をチェックし、if = 1ならComboBoxに割り当てたいと考えました。 私が持っているコードは次のとおりです。剣道コンボボックスに値を割り当てる方法

@(Html.Kendo().ComboBox() 
     .Name("FAList") 
     .Placeholder("Select Fiscal Agency...") 
     .DataTextField("Text") 
     .DataValueField("Value") 
     .HtmlAttributes(new { style = "width:50%;" }) 
     .Filter("startswith") 
     .AutoBind(true) 
     .MinLength(3) 
     .DataSource(source => 
     { 
      source.Read(read => 
      { 
       read.Action("GetUserAgencyList", "Entities"); 
      }) 
      .ServerFiltering(true); 
     }) 
      .Events(e => e 
      .Change("onFAChange") 
      .DataBound("onFADataBound") 
      ) 

しかし、私は

function onFADataBound(e) { 
    var dropdown = $("#FAList").data("kendoComboBox"); 
    var count = dropdown.dataSource.data().length 

    alert('FA Count: ' + count) 
} 

だから私は、データソースのレコードのテキストと値を見つけるだろうかonFADataBoundイベントを終了する方法を知っているとDataTextFieldにそれを割り当てませんおよびDataValueField。

答えて

1

selectメソッドで最初の項目を選択できます。

function onFADataBound(e) { 
    if (e.sender.dataSource.view().length == 1) { 
     e.sender.select(1); 
    } 
} 

あなたがそうでなければoptionLabel(プレースホルダ)を持っていると0場合は、選択した項目のインデックスは1されることに注意してください。

+0

dimodi、ありがとうございますが、あなたのコードを使用してもコンボボックスに違いはなく、プレースホルダはまだ値でした。 –

+0

私はe.sender.selectを(0)に変更しなければなりませんでした。 –

関連する問題