Hi Elad,
This request is not a suggestion, this is regression bug, and a critical bug on our side.
Actually, wish or bug/defect lists are internally the same list. What changes is the category of the issue but most important for us is the priority we give to each issue and this is quite an important one. Anyway, we changed issues category to "bug report" instead of "feature request".
We've upgraded from the Delphi version where it used to work and in the .Net version it doesn't.
Really? Which Delphi and TeeChart versions? Current TeeChart VCL versions also suffer from this problem in 2D charts. We have implemented Series.Marks.OnTop property for next TeeChart VCL releases to solve this.
In addition in 3D charts the marks are visible as expected.
Yes, we are aware of that. OnTop property will be only for 2D charts and false by default. Setting it to true will paint marks as you request.
We would like your cooperation in supplying a workaround for this bug or a patch to fix this issue.
A workaround would be replacing series marks with Annotation tools as shown here:
Code: Select all
public Form1()
{
InitializeComponent();
InitializeChart();
}
private void InitializeChart()
{
tChart1.Aspect.View3D = false;
for (int i = 0; i < 5; i++)
{
tChart1.Series.Add(new Steema.TeeChart.Styles.Bar());
tChart1[i].FillSampleValues();
((Steema.TeeChart.Styles.Bar)tChart1[i]).MultiBar = Steema.TeeChart.Styles.MultiBars.Stacked;
}
tChart1.AfterDraw += new Steema.TeeChart.PaintChartEventHandler(tChart1_AfterDraw);
tChart1.Draw();
}
void tChart1_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g)
{
ReplaceMarks();
}
private void ReplaceMarks()
{
foreach (Steema.TeeChart.Styles.Series s in tChart1.Series)
{
for (int i = 0; i < s.Marks.Positions.Count; i++)
{
Steema.TeeChart.Tools.Annotation annotation1 = new Steema.TeeChart.Tools.Annotation(tChart1.Chart);
Steema.TeeChart.Styles.SeriesMarks.Position pos = s.Marks.Positions[i];
annotation1.Text = s.YValues[i].ToString();
annotation1.Shape.CustomPosition = true;
annotation1.Shape.Left = pos.LeftTop.X;
annotation1.Shape.Top = pos.LeftTop.Y;
annotation1.Shape.Width = pos.Width;
annotation1.Shape.Height = pos.Height;
}
s.Marks.Visible = false;
}
}