Showing a Message When the Chart Has No Data
Environment
Product | Telerik UI for ASP.NET MVC Chart |
Progress Telerik UI for ASP.NET MVC version | Created with the 2022.2.802 version |
Description
How can I display a message in the Telerik UI for ASP.NET MVC Chart when its data source is empty?
Solution
The following example demonstrates how to achieve such behavior in the Telerik UI for ASP.NET MVC Chart. Note that the div
element of the message is positioned and decorated through CSS.
@(Html.Kendo().Chart()
.Name("chart")
.Title("Site Visitors Stats")
.Events(ev=>ev.Render("onRender"))
)
<script>
function onRender(e) {
var view = e.sender.dataSource.view();
var parent = e.sender.element.closest('.container')
createOverlay(view.length, parent)
}
function createOverlay(viewLength, parent) {
if (viewLength === 0) {
parent.append("<div class='overlay'><div>No Data</div></div>")
}
}
</script>
<style>
.container {
position: relative;
}
.overlay {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
opacity: .5;
background-color: #6495ed;
text-align: center;
}
.overlay div {
position: relative;
font-size: 34px;
margin-top: -17px;
top: 50%;
}
</style>
For the complete implementation of the suggested approach, refer to the Telerik REPL example on displaying the Telerik UI for ASP.NET MVC Chart when its data source is empty.