Kendo ui 剑道ui requestEnd事件只触发一次。为什么?
我有一个剑道网格,其详细信息行由弹出创建模式的可编辑网格填充。在我使用的每个弹出式创建窗口中,有一个剑道自动完成小部件:Kendo ui 剑道ui requestEnd事件只触发一次。为什么?,kendo-ui,kendo-autocomplete,kendo-datasource,Kendo Ui,Kendo Autocomplete,Kendo Datasource,我有一个剑道网格,其详细信息行由弹出创建模式的可编辑网格填充。在我使用的每个弹出式创建窗口中,有一个剑道自动完成小部件: $("#labResponsibleRegistryNo").kendoAutoComplete({ dataSource: labResponsiblesDS, dataTextField: "fullname",
$("#labResponsibleRegistryNo").kendoAutoComplete({
dataSource: labResponsiblesDS,
dataTextField: "fullname",
template: "<div class='labResponsiblesTemplate'>\
<span class='template_fullname'> #= lastname + ' ' + firstname #</span>\
<div class='template_details'>\
<span> ΑΜ </span>\
<span class='template_data'> #= registry_no # </span>\
</div>\
<div>",
minLength: 3
//suggest: true,
});
$(“#labResponsibleRegistryNo”).kendoAutoComplete({
数据来源:labResponsiblesDS,
dataTextField:“全名”,
模板:“\
#=lastname+“”+firstname#\
\
ΑΜ \
#=注册号\
\
",
最小长度:3
//建议:是的,
});
我将其与labResponsiblesDS数据源绑定,如下所示:
var labResponsiblesDS= new kendo.data.DataSource({
serverFiltering: true,
transport: {
read: {
url: "api/workers",
type: "GET",
data: {},
dataType: "json"
},
parameterMap: function(data, type) {
if (type === 'read') {
data["worker"] = data.filter.filters[0].value;
delete data.filter;
}
return data;
}
},
schema: {
data: "data",
total: "total"
},
requestEnd: function(e) {
console.log("labResponsiblesDS requestEnd", e);
if(e.response.data.length > 0){
var results_no = e.response.data.length;
for(var i=0;i<results_no;i++){
e.response.data[i].fullname = e.response.data[i].lastname + " " + e.response.data[i].firstname;
}
}
}
});
var labResponsiblesDS=new kendo.data.DataSource({
是的,
运输:{
阅读:{
url:“api/工人”,
键入:“获取”,
数据:{},
数据类型:“json”
},
parameterMap:函数(数据,类型){
如果(类型=='read'){
数据[“工作者”]=data.filter.filters[0]。值;
删除数据过滤器;
}
返回数据;
}
},
模式:{
数据:“数据”,
总计:“总计”
},
requestEnd:函数(e){
日志(“labResponsiblesDS requestEnd”,e);
如果(e.response.data.length>0){
var结果_no=e.response.data.length;
对于(var i=0;i将全名值直接插入到架构中。您只需将schema.data实现为匿名函数,并在其中形成全名:
schema: {
data: function(data) {
for (var i = 0; i < data.length; ++i) {
data[i].fullname = data[i].lastname + " " + data[i].firstname;
}
return data;
},
total: "total"
}
模式:{
数据:函数(数据){
对于(变量i=0;i
我猜它只命中一次,或者最初导致您最初读取第一页的数据。当服务器筛选设置为“true”时,如果您点击分页按钮,它应该会再次命中。我说得对吗?您有一个网格,并且在网格中使用剑道自动完成..在弹出式编辑中..不是内联..为什么不使用列声明中的“编辑器”选项??