如果只添加一个数据值,则不会呈现AjaxControlToolkit PieChart图形

时间:2015-10-22 14:23:39

标签: c# asp.net visual-studio-2012 ajaxcontroltoolkit pie-chart

我从后面的代码中动态输入数据:

function getFoldersRecursive(folder) {
    var
        files = folder.getFiles(),
        editFolders = [],
        folder;

    for (var i = 0; i < files.length; i++) {
        folder = files[i];
        if (folder instanceof Folder) {
            editFolders.push(folder);
            editFolders = editFolders.concat(getFoldersRecursive(folder));
        }
    }
    return editFolders;
}

var projectFolder = app.project.file.parent;
var allFolders = getFoldersRecursive(projectFolder);

它应该通过使用开关来反映1-10的评级数量(我没有显示整个开关,因为这太麻烦了)。所以在这种情况下,如果一个人给出等级1,count1 = 1,并且我希望饼图反映出来,但是控件保持空白并且在角落处只有1,但是图例是还在那里。

这是一个错误还是我错过了什么?

更新:这是一个通过评级1 - 10的开关,并将该特定评级的数量添加到图表中:

PieChart1.PieChartValues.Add(new AjaxControlToolkit.PieChartValue
{
Category = "1",
Data = count1
});

2 个答案:

答案 0 :(得分:1)

你正在做的一切正确,但是当一个系列中只有一个值时,PieChart不会产生有效的SVG标记,所以你看不到结果。

答案 1 :(得分:0)

我也遇到了这个问题。我的修复只是检查数据表中的1行,如果是,则将另一项添加到图表中,值为1,标签为空。它不漂亮,但在我的情况下,图表中只有一个项目的时间是非常罕见的,所以我只是解释说,当只有一个项目时它可能无法正确显示。我知道一个可怕的修复,但我希望他们可以在以后的版本中解决这个问题。

if(dt.Rows.Count == 1)
{
    pieChart1.PieChartValues.Add(new AjaxControlToolkit.PieChartValue
    {
        Category = "",
        Data = 1
    });
}