如何将数据绑定和AutoBind一起用于Kendo Combobox

时间:2016-08-19 10:02:39

标签: javascript combobox kendo-ui kendo-combobox

我想在Kendo Combobox中同时使用DataBound和AutoBind。 但不能使用它。 我的DataBound用于将第一项插入列表中,如果我使用AutoBind =' false'然后我无法设置它。

    $("#Number").kendoComboBox({
        dataTextField: "NUM",
        dataValueField: "ID",
        filter: "startwith",
        autoBind: false,
        suggest:true,
        minLength: 5,
        dataBound: function () {
               var dataSource = this.dataSource;
               var data = dataSource.data();
               if (!this._adding) {
                   this._adding = true;
                   if (IS_ANALYST == 'Y') {
                       dataSource.insert(0, {
                           "NUM": "Create New Analysis",
                           "ID": -1
                       });
                       this.select(function (dataItem) {
                           return dataItem.NUM === "Create New Analysis";
                       });
                   }
                   else {
                       dataSource.insert(0, {
                           "NUM": "Select",
                           "ID": -2
                       });
                       this.select(function (dataItem) {
                           return dataItem.NUM === "Select";
                       });
                   }
                   this._adding = false;
               }
           },
});

那么如何解决这个问题。 我想使用AutoBind =' false'并且还需要插入第一个项目,如图所示 对此有何选择? 在此先感谢!!!

2 个答案:

答案 0 :(得分:0)

为什么不能尝试像

这样的Open事件
<script>
function combobox_open(e) {
  // handle the event
}

var combobox = $("#Number").data("kendoComboBox");
combobox.bind("open", combobox_open);
</script>

答案 1 :(得分:0)

我们可以在数据源中使用Request End:

 requestEnd: function (e) {
                      if (IS_ANALYST == 'Y') {
                            e.response.unshift({ ID: -1, NUM: 'Create New Analysis' });
                           }
                      else {
                           e.response.unshift({ ID: -2, NUM: 'Select' });
                           }
                     },