我正在评估 Kendo UI 甘特图,看看它是否符合我们的项目要求。
一个特殊的要求是显示一个状态列,该列在编辑模式下是一个下拉菜单,具有三种状态
- 红色 2. 绿色 3. 黄色,以及如下图所示的图像指示器
在使用自定义编辑器进行下拉后编辑单元格时,我能够实现上述效果
function statusDropDownEditor(container, options) {
$('<input data-bind="value:' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
dataTextField: "Status",
dataValueField: "StatusId",
valueTemplate: '<img class="selected-value" src="#:data.Url#" alt="#:data.Status#" /><span>#:data.Status#</span>',
template: '<img class="selected-value" src="#:data.Url#" alt="#:data.Status#" /><span>#:data.Status#</span>',
dataSource: {
transport: {
read: function (e) {
// on success
e.success([{ Status: 'Not Started', StatusId: '0', Url: 'Image/red.png' }, { Status: 'Red', StatusId: '1', Url: 'Image/red.png' }, { Status: 'Green', StatusId: '2', Url: 'Image/red.png' }, { Status: 'Yellow', StatusId: '3', Url: 'Image/red.png' }]);
// on failure
//e.error("XHR response", "status code", "error message");
}
}
}
})
}
状态的甘特列看起来像下面的片段
{ field: "status", title: "Status", editable: true, width: 150, editor: statusDropDownEditor, template: '<img class="selected-value" src="#:data.Url#" alt="#:data.Status#" /><span>#:data.Status#</span>' }
但是,当从下拉列表中选择特定项目并退出编辑模式时,这就是单元格的样子
似乎只读模式下的默认单元格模板不呈现 html 并且调用绑定到单元格的对象的 toString ,有没有办法在剑道 UI 甘特图中解决这个问题