关于我正在开发的关注Scheduler小部件的项目,我想知道它可以实现以下功能:
使用我当前的Scheduler,我可以按预期显示startDate和endDate的值,但是,我无法看到我的弹出窗口中包含我的资源值,这意味着,我必须制作在弹出窗口中单击一下以选择我想要的值。
以下是我脚本中的代码段:
group: {
resources: ["Colaboradores"],
orientation: "vertical"
},
resources: [{
field: "UtilizadorID",
name: "Colaboradores",
dataTextField: "Nome",
dataValueField: "ID",
dataSource: new kendo.data.DataSource({
transport: {
read: {
url: './../Services/HCAnestesiaWeb-AnestesiaDomainService.svc/JSON/GetColaboradores'
}
},
schema: {
type: "json",
data: "GetColaboradoresResult.RootResults",
total: "GetColaboradoresResult.TotalCount"
}
}
),
multiple: true,
title: "nome"
},
{
field: "TipoEstado",
dataValueField: "TipoDeEstadoID",
dataTextField: "descr",
dataColorField: "Cor",
/*dataStartDateField: "startHour",
dataEndDateField: "endHour",*/
dataSource: new kendo.data.DataSource({
transport: {
read: {
url: './../Services/HCAnestesiaWeb-AnestesiaDomainService.svc/JSON/GetTiposEstados'
}
},
schema: {
type: "json",
data: "GetTiposEstadosResult.RootResults",
total: "GetTiposEstadosResult.TotalCount"
}
})
}],
// FRONT-END:
edit: function(e) {
var UtilizadorID = e.container.find("#selectColaborador").kendoMultiSelect({
/*optionLabel: "Seleccionar...",*/
dataTextField: "Nome",
dataValueField: "ID"
}).data("kendoMultiSelect");
UtilizadorID.dataSource.data(e.sender.resources[0].dataSource.data());
var utilizador = e.container.find("#selectColaborador").data("kendoMultiSelect");
var TipoEstado = e.container.find("#selectEstado").kendoMultiSelect({
/*optionLabel: "Seleccionar...",*/
dataTextField: "descr",
dataValueField: "TipoDeEstadoID",
dataColorField: "Cor",
template: '<div style="background-color: #:Cor#; border-radius: 10px; height: 30px; width: 30px; float: left"></div><div>#:descr#</div>'
}).data("kendoMultiSelect");
TipoEstado.dataSource.data(e.sender.resources[1].dataSource.data());
// $("#dataInicio").val(e.event.start);
// $("#dataFim").val(e.event.ID);
// $("#data").val(e.event.UtilizadorID);
console.log(e.event);
/*var dataInicio = e.container.find("#dataInicio").data("kendoDropDownList");*/
// dataInicio.dataSource.data(e.sender.resources[0].dataSource.data());
/*var dataFim = e.container.find("#dataFim").data("kendoDropDownList");*/
// dataFim.dataSource.data(e.sender.resources[0].dataSource.data());
},
答案 0 :(得分:1)
在编辑功能内的多选定义中,您可以设置所选的值,如下所示:
var UtilizadorID = e.container.find("#selectColaborador").kendoMultiSelect({
dataTextField: "Nome",
dataValueField: "ID",
value: ["1", "3"] // here you set the selected value(s)
}).data("kendoMultiSelect");
您必须找到所需的资源ID并将其放在那里。
这是JSBin
答案 1 :(得分:0)
为这个问题找到了解决方案,所以,请点击这里:
当我手动设置源时,这意味着在窗口小部件尝试设置其值时它是空的。期望它不会选择任何东西,因为它是空的,然后,当设置源时,没有代码会重新应用该值;
此案例的解决方案是手动选择值。基本上,在edit事件中,当正确填充e.event实例时,可以直接使用e.event.UserID值。
我必须创建一个新变量并将其值调用到获取kendoMultiSelect的所有数据源的行下面:
var UtilizadorIDsender = e.event.UtilizadorID [0];
var UtilizadorID = e.container.find(“#selectColaborador”)。kendoMultiSelect({ dataTextField:“Nome”, dataValueField:“ID” })的数据( “kendoMultiSelect”); UtilizadorID.dataSource.data(e.sender.resources [0] .dataSource.data()); $( “#selectColaborador”)getKendoMultiSelect()值(UtilizadorIDsender);