2017-05-05 8 views
0

kendoUIコンボボックスでデータを表示できます(PostgresSQL)が、ドロップダウン矢印をクリックすると予想よりも1〜2秒遅れてコンボボックスが表示されます。私のコンボボックスのドロップダウンをクリックすると、誰かがデータをより速く読み込む方法を教えてくれますか?KendoUIコンボボックスのデータをより速く読み込み

+3

あなたが見たいコードを教えてもらえますか? –

+0

autoBindをfalseに設定しましたか?その場合、ウィジェットのデータは、ウィジェットが開いたときにのみ取得され、潜在的に目に見える遅延を引き起こす可能性があります。あなたのコード、特にサーバーではなくhtml/javascriptを表示してください。 – NigelK

+0

ここに私のコードをどこにどこに投稿すれば役に立つのか教えてください。 – Ananya

答えて

0
<div class="col-sm-5 col-xs-10"> 
        <div class="col-sm-2 text-center col-xs-3"><h4>MPID</h4></div> 
        <div class="col-sm-5 col-xs-9"> 
         @(Html.Kendo().ComboBox() 
         .Name("cmbBrokers") 
          .DataTextField("MPID") 
          .DataValueField("MPID") 
          .Placeholder("--") 
          .HtmlAttributes(new { style = "width:300px" }) 
          .Events(e => { e.Change("onClientSelect"); }) 
          .Filter(FilterType.StartsWith) 
          .DataSource(source => 
          { 
           source.Read(read => 
           { 
            read.Action("GetBrokers", "BrokerMapping"); 
           }).ServerFiltering(false); 
          }) 
           .HeaderTemplate("<div class=\"dropdown-header \">" + 
        "<span>MPID</span>" + 
        "<span>Name</span>" + 
        "<span>NSCCID</span>" + 
       "</div>") 
     .FooterTemplate("Total <strong>#: instance.dataSource.total() #</strong> items found") 
     .Template("<div class=\"dropdown\"><span> #:data.MPID# </span><span>#: data.CompanyName #</span>" + "<span>#: data.NSCCID #</span></div>") 
         ) 
        </div> 

**Here is my javascript** 
<script> 
function searchData(searchText) {  
    var grid = $("#brokersGrid").data("kendoGrid"); 
    var dataSource = grid.dataSource; 

    dataSource.filter({ 
     logic: "or", 
     filters: [{ 
      "field": "MPID", 
      "operator": "startswith", 
      "value": searchText 
     }, 
      { 
       field: "CompanyName", 
       operator: "startswith", 
       value: searchText 
      }, 
      { 
       field: "NSCCID", 
       operator: "startswith", 
       value: searchText 
      }] 
    }); 
} 
function onClientSelect(e) { 
    var searchText = this.value(); 
    document.getElementById("txtSearch").value = ""; 
    searchData(searchText); 
} 
function brokersGridDataBound(e) { 
    var combo = $("#cmbBrokers").data("kendoComboBox");  
    combo.dataSource.read(); 
} 
+0

上記はJavaScriptコードが含まれているkendoUIコンボボックスのコードです。データを高速に読み込むために何かが不足している場合はお知らせください。 – Ananya

関連する問題