当使用jQWidgets jqxScheduler插件创建调度器时,可以通过showLegend属性显示调度器的图例信息。showLegend属性能够允许用户自定义图例内容和显示。常用的图例内容包括:资源类型,预约类型等。
属性介绍
- 属性名:showLegend
- 类型:Boolean
- 默认值:false
- 描述:是否显示调度器图例,如果值为true,则会显示调度器图例。
属性用法
在调度器的初始化代码中,需要添加showLegend属性,示例代码如下:
$(document).ready(function () {
//创建调度器实例
$('#scheduler').jqxScheduler({
//设置showLegend属性为true
showLegend: true,
});
});
接下来,我们需要为调度器设置图例。可以使用source属性来设置图例的数据源,并使用renderer属性指定图例的呈现方式。这里我们通过两个示例来演示如何设置调度器的showLegend属性。
示例1:基本设置
在这个示例中,我们首先需要添加一个列表,并设置其数据源。然后,我们使用renderer属性来指定列表的呈现方式。
$(document).ready(function () {
var resources = [
{id: 'calendar1', description: 'Calendar 1'},
{id: 'calendar2', description: 'Calendar 2'}
];
//设置调度器实例
$('#scheduler').jqxScheduler({
//设置showLegend为true
showLegend: true,
//设置图例的数据源
resources: {
colorScheme: 'scheme05',
dataField: 'id',
source: resources,
//设置资源的展示名称
displayField: 'description'
},
//自定义图例的呈现方式
renderer: function (resource) {
var label = resource.description;
var color = this.resourcesSettings.colorScheme.colorScheme.color3;
var html = '<div style="padding: 3px; margin-top: 5px;">' +
'<span style="color: ' + color + '; background-color: white; padding: 2px; border: 1px solid ' + color + '">' +
'<span class="jqx-icon-check"></span>' + label + '</span></div>';
return html;
}
});
});
在这个示例中,我们使用renderer属性来自定义图例的呈现方式。在自定义的呈现方式中,我们通过设置span元素的样式和内容来展示图例。
示例2:高级设置
在这个示例中,我们将展示如何使用jQWidgets的部分样式库(themes)中的样式来自定义图例的呈现方式。
//加载jQWidgets的部分样式(themes)
<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.base.css" type="text/css" />
$(document).ready(function () {
var resources = [
{id: 'calendar1', description: 'Calendar 1'},
{id: 'calendar2', description: 'Calendar 2'}
];
//设置调度器实例
$('#scheduler').jqxScheduler({
//设置showLegend为true
showLegend: true,
//设置图例的数据源
resources: {
colorScheme: 'scheme05',
dataField: 'id',
source: resources,
//设置资源的展示名称
displayField: 'description'
},
//自定义图例的呈现方式
renderer: function (resource) {
var label = resource.description;
var color = this.resourcesSettings.colorScheme.colorScheme.color3;
var html = '<div style="padding: 3px; margin-top: 5px;">' +
'<span class="jqx-scheduler-legend-handled jqx-fill-state-normal" style="border: 0px;">' +
'<span class="jqx-scheduler-legend-color-indicator jqx-fill-state-normal" style="background-color: ' + color + ';"></span>' +
'<span class="jqx-scheduler-legend-label">' + label + '</span></span></div>';
return html;
}
});
});
在这个示例中,我们使用了jQWidgets的一些CSS样式来设置图例的呈现方式。这些样式包括:jqx-scheduler-legend-handled、jqx-fill-state-normal、jqx-scheduler-legend-color-indicator等。这个示例的效果会更加美观。