Hi
We are having lots of trouble with trying to set labels for a stacked bar chart.
Here is the C# code to generate the chart.
foreach (var jItem in jobsViewModels)
{
RadHtmlChartJobsProgress.Visible = true;
for (var i = 0; i < jItem.JobStepsBreakdownList.Count; i++)
{
var newSeries1 = new BarSeries();
newSeries1.GroupName = jItem.JobName;
foreach (var jItem in jobsViewModels)
{
RadHtmlChartJobsProgress.Visible = true;
for (var i = 0; i < jItem.JobStepsBreakdownList.Count; i++)
{
var newSeries1 = new BarSeries();
newSeries1.GroupName = jItem.JobName;
newSeries1.DataFieldX = newSeries1.GroupName;
if (i == 0)
{
newSeries1.Stacked = true;
// var newAxis = new AxisItem();
// newAxis.LabelText = jItem.JobName;
// RadHtmlChartJobsProgress.PlotArea.XAxis.Items.Add(newAxis);
}
// newSeries1.Name = jItem.JobName;
RadHtmlChartJobsProgress.PlotArea.Series.Add(newSeries1);
var item = new CategorySeriesItem();
item.BackgroundColor = Color.Green;
item.Y = 1;
if (jItem.JobStepsBreakdownList[i].RagStatusName == "Red")
{
item.BackgroundColor = Color.Red;
}
else if (jItem.JobStepsBreakdownList[i].RagStatusName == "Amber")
{
item.BackgroundColor = Color.Orange;
}
else if (jItem.JobStepsBreakdownList[i].RagStatusName == "Complete")
{
item.BackgroundColor = Color.LightBlue;
}
else
{
item.BackgroundColor = Color.Green;
}
newSeries1.TooltipsAppearance.ClientTemplate = "Milestone: " +
jItem.JobStepsBreakdownList[i].WorkflowStepName;
newSeries1.SeriesItems.Add(item);
newSeries1.LabelsAppearance.Visible = false;
// RadHtmlChartJobsProgress.PlotArea.Series[i].Items.Add(item);
}
RadHtmlChartJobsProgress.PlotArea.XAxis.LabelsAppearance.Visible = true;
RadHtmlChartJobsProgress.DataBind();
}
if (i == 0)
{
newSeries1.Stacked = true;
// var newAxis = new AxisItem();
// newAxis.LabelText = jItem.JobName;
// RadHtmlChartJobsProgress.PlotArea.XAxis.Items.Add(newAxis);
newSeries1.DataFieldX = newSeries1.GroupName;
}
// newSeries1.Name = jItem.JobName;
RadHtmlChartJobsProgress.PlotArea.Series.Add(newSeries1);
var item = new CategorySeriesItem();
item.BackgroundColor = Color.Green;
item.Y = 1;
if (jItem.JobStepsBreakdownList[i].RagStatusName == "Red")
{
item.BackgroundColor = Color.Red;
}
else if (jItem.JobStepsBreakdownList[i].RagStatusName == "Amber")
{
item.BackgroundColor = Color.Orange;
}
else if (jItem.JobStepsBreakdownList[i].RagStatusName == "Complete")
{
item.BackgroundColor = Color.LightBlue;
}
else
{
item.BackgroundColor = Color.Green;
}
newSeries1.TooltipsAppearance.ClientTemplate = "Milestone: " +
jItem.JobStepsBreakdownList[i].WorkflowStepName;
newSeries1.SeriesItems.Add(item);
newSeries1.LabelsAppearance.Visible = false;
// RadHtmlChartJobsProgress.PlotArea.Series[i].Items.Add(item);
}
RadHtmlChartJobsProgress.PlotArea.XAxis.LabelsAppearance.Visible = true;
RadHtmlChartJobsProgress.DataBind();
}
If we enable the Add Axis code, we get all of the series items stuffed into 1 axis item. If we do not we cannot get a stacked series to have an X-Axis name but the series do display correctly.
How can we can do this? Help please!
We are having lots of trouble with trying to set labels for a stacked bar chart.
Here is the C# code to generate the chart.
foreach (var jItem in jobsViewModels)
{
RadHtmlChartJobsProgress.Visible = true;
for (var i = 0; i < jItem.JobStepsBreakdownList.Count; i++)
{
var newSeries1 = new BarSeries();
newSeries1.GroupName = jItem.JobName;
foreach (var jItem in jobsViewModels)
{
RadHtmlChartJobsProgress.Visible = true;
for (var i = 0; i < jItem.JobStepsBreakdownList.Count; i++)
{
var newSeries1 = new BarSeries();
newSeries1.GroupName = jItem.JobName;
newSeries1.DataFieldX = newSeries1.GroupName;
if (i == 0)
{
newSeries1.Stacked = true;
// var newAxis = new AxisItem();
// newAxis.LabelText = jItem.JobName;
// RadHtmlChartJobsProgress.PlotArea.XAxis.Items.Add(newAxis);
}
// newSeries1.Name = jItem.JobName;
RadHtmlChartJobsProgress.PlotArea.Series.Add(newSeries1);
var item = new CategorySeriesItem();
item.BackgroundColor = Color.Green;
item.Y = 1;
if (jItem.JobStepsBreakdownList[i].RagStatusName == "Red")
{
item.BackgroundColor = Color.Red;
}
else if (jItem.JobStepsBreakdownList[i].RagStatusName == "Amber")
{
item.BackgroundColor = Color.Orange;
}
else if (jItem.JobStepsBreakdownList[i].RagStatusName == "Complete")
{
item.BackgroundColor = Color.LightBlue;
}
else
{
item.BackgroundColor = Color.Green;
}
newSeries1.TooltipsAppearance.ClientTemplate = "Milestone: " +
jItem.JobStepsBreakdownList[i].WorkflowStepName;
newSeries1.SeriesItems.Add(item);
newSeries1.LabelsAppearance.Visible = false;
// RadHtmlChartJobsProgress.PlotArea.Series[i].Items.Add(item);
}
RadHtmlChartJobsProgress.PlotArea.XAxis.LabelsAppearance.Visible = true;
RadHtmlChartJobsProgress.DataBind();
}
if (i == 0)
{
newSeries1.Stacked = true;
// var newAxis = new AxisItem();
// newAxis.LabelText = jItem.JobName;
// RadHtmlChartJobsProgress.PlotArea.XAxis.Items.Add(newAxis);
newSeries1.DataFieldX = newSeries1.GroupName;
}
// newSeries1.Name = jItem.JobName;
RadHtmlChartJobsProgress.PlotArea.Series.Add(newSeries1);
var item = new CategorySeriesItem();
item.BackgroundColor = Color.Green;
item.Y = 1;
if (jItem.JobStepsBreakdownList[i].RagStatusName == "Red")
{
item.BackgroundColor = Color.Red;
}
else if (jItem.JobStepsBreakdownList[i].RagStatusName == "Amber")
{
item.BackgroundColor = Color.Orange;
}
else if (jItem.JobStepsBreakdownList[i].RagStatusName == "Complete")
{
item.BackgroundColor = Color.LightBlue;
}
else
{
item.BackgroundColor = Color.Green;
}
newSeries1.TooltipsAppearance.ClientTemplate = "Milestone: " +
jItem.JobStepsBreakdownList[i].WorkflowStepName;
newSeries1.SeriesItems.Add(item);
newSeries1.LabelsAppearance.Visible = false;
// RadHtmlChartJobsProgress.PlotArea.Series[i].Items.Add(item);
}
RadHtmlChartJobsProgress.PlotArea.XAxis.LabelsAppearance.Visible = true;
RadHtmlChartJobsProgress.DataBind();
}
If we enable the Add Axis code, we get all of the series items stuffed into 1 axis item. If we do not we cannot get a stacked series to have an X-Axis name but the series do display correctly.
How can we can do this? Help please!