【问题标题】:KendoUI combo box loading the data fasterKendo UI 组合框更快地加载数据
【发布时间】:2017-05-08 21:19:56
【问题描述】:

我可以使用 db 集成 (PostgresSQL) 在 kendoUI 组合框中显示我的数据,但是当我单击下拉箭头时,我的组合框的执行速度比我预期的慢 1-2 秒。当我单击组合框的下拉列表时,谁能帮助我更快地加载数据?

【问题讨论】:

  • 你能给我们你的代码来看看你想要什么吗?
  • 您是否将 autoBind 设置为 false?如果是这样,则仅在打开小部件时才检索小部件的数据,这可能会导致可见的延迟。显示您的代码,尤其是 html/javascript 而不是服务器。
  • 如果你能告诉我如何以及在哪里发布我的代码,那将会很有帮助。
  • 我也尝试将 autobind 设为 true,但没有带来任何不同
  • 我已经粘贴了下面的代码,请告诉我我在代码中缺少什么@MikeTung

标签: postgresql kendo-ui ado.net


【解决方案1】:
<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();
}

【讨论】:

  • 以上是我的 kendoUI 组合框代码,包含 javascript 请告诉我是否遗漏任何内容以更快地加载数据。
猜你喜欢
  • 1970-01-01
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 2013-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多