WebChart X, Y location issue

TeeChart for Microsoft Visual Studio .NET, Xamarin Studio (Android, iOS & Forms) & Monodevelop.
Post Reply
am
Newbie
Newbie
Posts: 11
Joined: Mon Feb 14, 2005 5:00 am

WebChart X, Y location issue

Post by am » Mon Jul 31, 2006 11:55 pm

Hello all,

I need help with a few issues in the webchart component. The issues are

a) Is there any way i can associate the series click event which right now is triggered by mouse left click with mouse right button ?

b) How do i get the actual screen location of the Webchart ? i tried reading from chartbounds but i only get the height and width in pixels. I need the top left corner actual screen location, Is there anyway i can get this ?

c) Can Teechart translate on screen X,Y location to x,y within the teechart coordinate system ? I tried tChart1.Axes.Bottom.CalcPosPoint() but didnt work.

c) Can I change the association of zoom from mouse left button to right button in a webchart ?

Thanks in advance

Christopher
Site Admin
Site Admin
Posts: 1349
Joined: Thu Jan 01, 1970 12:00 am
Location: Riudellots de la Selva, Catalonia
Contact:

Post by Christopher » Tue Aug 01, 2006 11:26 am

Hello,
a) Is there any way i can associate the series click event which right now is triggered by mouse left click with mouse right button ?
No, I'm afraid there isn't. This is because the IPostBackDataHandler.LoadPostData method provides no information as to which mouse button was clicked, only the x and y relative positions. I think this is true for all ASP.NET server controls.
b) How do i get the actual screen location of the Webchart ? i tried reading from chartbounds but i only get the height and width in pixels. I need the top left corner actual screen location, Is there anyway i can get this ?
This is not strictly TeeChart specific either, as any technique to find the screen location of a webchart will be the same for any ASP.NET Control. I'm sure you'll be able to Google for some pertinant answers but if you don't have any luck please come back to me and I'll try and help you some more.
c) Can Teechart translate on screen X,Y location to x,y within the teechart coordinate system ? I tried tChart1.Axes.Bottom.CalcPosPoint() but didnt work.
Once you have the answer to b) you will be able to make the translation 'manually'.
c) Can I change the association of zoom from mouse left button to right button in a webchart ?
No, as the zoom again relies on IPostBackDataHandler.LoadPostData.
Thank you!

Christopher Ireland (Steema crew)
Please be aware of the newsgroup archives:
http://www.teechart.net/support/search.php
http://groups.google.com
http://codenewsfast.com/

stark
Newbie
Newbie
Posts: 10
Joined: Wed Jul 26, 2006 12:00 am
Location: Girona / Catalunya

Post by stark » Tue Aug 01, 2006 1:50 pm

Hello am,

this:

Code: Select all

WebChart1.Style.Value.ToString()
returns a string containing x and y-value of the upper left corner of you webchart.
Best regards
Alex

Steema Crew

am
Newbie
Newbie
Posts: 11
Joined: Mon Feb 14, 2005 5:00 am

Post by am » Tue Aug 01, 2006 3:49 pm

Hello Stark,

This code throws me a null pointer exception at the Value part.

Thanks



Hello am,

this:
Code:

WebChart1.Style.Value.ToString()


returns a string containing x and y-value of the upper left corner of you webchart.

am
Newbie
Newbie
Posts: 11
Joined: Mon Feb 14, 2005 5:00 am

Post by am » Tue Aug 01, 2006 6:57 pm

Hello,

what do you mean by translating manually ? I have the X,Y screen coordinates now but having a hard time getting the equvivalent coordinates in the teechart coordinate space. The methods provided in the series object somehow dont work ?

thanks



Quote:
c) Can Teechart translate on screen X,Y location to x,y within the teechart coordinate system ? I tried tChart1.Axes.Bottom.CalcPosPoint() but didnt work.


Once you have the answer to b) you will be able to make the translation 'manually'.

stark
Newbie
Newbie
Posts: 10
Joined: Wed Jul 26, 2006 12:00 am
Location: Girona / Catalunya

Post by stark » Wed Aug 02, 2006 6:42 am

Hello am,


using this code I have no problems to ascertaining the x- and y-values:

Default.aspx.cs

Code: Select all

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    String topY;
    String leftX;
    String topY1;
    String leftX1;
    String webchart;
    protected void Page_Load(object sender, EventArgs e)
    {
        Steema.TeeChart.Chart ch1 = WebChart1.Chart;
        ch1.Series[0].FillSampleValues();

        topY = ch1.Panel.ShapeBounds.Location.X.ToString();
        leftX = ch1.Panel.ShapeBounds.Location.Y.ToString();

        Label1.Text= WebChart1.Style.Value.ToString();
    }
    
}
Default.aspx

Code: Select all

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="TeeChart" Namespace="Steema.TeeChart.Web" TagPrefix="tchart" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        &nbsp;<tchart:WebChart ID="WebChart1" runat="server" AutoPostback="False" Config="AAEAAAD/////AQAAAAAAAAAMAgAAAFJUZWVDaGFydCwgVmVyc2lvbj0yLjAuMjM1MS4xODk5NiwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj05YzgxMjYyNzZjNzdiZGI3DAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEAAAAVU3RlZW1hLlRlZUNoYXJ0LkNoYXJ0YwAAABQuV2FsbHMuQmFjay5BdXRvSGlkZRouV2FsbHMuQmFjay5TaGFkb3cuVmlzaWJsZRQuV2FsbHMuTGVmdC5BdXRvSGlkZRouV2FsbHMuTGVmdC5TaGFkb3cuVmlzaWJsZRYuV2FsbHMuQm90dG9tLkF1dG9IaWRlHC5XYWxscy5Cb3R0b20uU2hhZG93LlZpc2libGUVLldhbGxzLlJpZ2h0LkF1dG9IaWRlGy5XYWxscy5SaWdodC5TaGFkb3cuVmlzaWJsZR4uU3ViSGVhZGVyLkZvbnQuU2hhZG93LlZpc2libGUZLlN1YkhlYWRlci5TaGFkb3cuVmlzaWJsZR4uU3ViRm9vdGVyLkZvbnQuU2hhZG93LlZpc2libGUZLlN1YkZvb3Rlci5TaGFkb3cuVmlzaWJsZRsuRm9vdGVyLkZvbnQuU2hhZG93LlZpc2libGUWLkZvb3Rlci5TaGFkb3cuVmlzaWJsZQhTZXJpZXMuMA8uU2VyaWVzLjAuVGl0bGUXLlNlcmllcy4wLllWYWx1ZXMuVmFsdWUXLlNlcmllcy4wLllWYWx1ZXMuQ291bnQXLlNlcmllcy4wLlhWYWx1ZXMuVmFsdWUXLlNlcmllcy4wLlhWYWx1ZXMuQ291bnQXLlNlcmllcy4wLlhWYWx1ZXMuT3JkZXIeLlNlcmllcy4wLk1hcmtzLkl0ZW1zLkNhcGFjaXR5Iy5TZXJpZXMuMC5NYXJrcy5Gb250LlNoYWRvdy5WaXNpYmxlIC5TZXJpZXMuMC5NYXJrcy5DYWxsb3V0LkRpc3RhbmNlHi5TZXJpZXMuMC5NYXJrcy5DYWxsb3V0Lkxlbmd0aB4uU2VyaWVzLjAuTWFya3MuQ2FsbG91dC5EcmF3M0QhLlNlcmllcy4wLk1hcmtzLkNhbGxvdXQuQXJyb3dIZWFkHS5TZXJpZXMuMC5NYXJrcy5DYWxsb3V0LlN0eWxlJS5TZXJpZXMuMC5NYXJrcy5DYWxsb3V0LkFycm93SGVhZFNpemUjLlNlcmllcy4wLk1hcmtzLkNhbGxvdXQuQnJ1c2guQ29sb3IXLlNlcmllcy4wLkxpbmVQZW4uQ29sb3IlLkF4ZXMuTGVmdC5MYWJlbHMuRm9udC5TaGFkb3cuVmlzaWJsZSAuQXhlcy5MZWZ0LkxhYmVscy5TaGFkb3cuVmlzaWJsZRkuQXhlcy5MZWZ0LkdyaWQuWlBvc2l0aW9uFS5BeGVzLkxlZnQuR3JpZC5TdHlsZSQuQXhlcy5MZWZ0LlRpdGxlLkZvbnQuU2hhZG93LlZpc2libGUfLkF4ZXMuTGVmdC5UaXRsZS5TaGFkb3cuVmlzaWJsZRQuQXhlcy5MZWZ0LkF1dG9tYXRpYyQuQXhlcy5Ub3AuTGFiZWxzLkZvbnQuU2hhZG93LlZpc2libGUfLkF4ZXMuVG9wLkxhYmVscy5TaGFkb3cuVmlzaWJsZRguQXhlcy5Ub3AuR3JpZC5aUG9zaXRpb24ULkF4ZXMuVG9wLkdyaWQuU3R5bGUjLkF4ZXMuVG9wLlRpdGxlLkZvbnQuU2hhZG93LlZpc2libGUeLkF4ZXMuVG9wLlRpdGxlLlNoYWRvdy5WaXNpYmxlEy5BeGVzLlRvcC5BdXRvbWF0aWMmLkF4ZXMuRGVwdGguTGFiZWxzLkZvbnQuU2hhZG93LlZpc2libGUhLkF4ZXMuRGVwdGguTGFiZWxzLlNoYWRvdy5WaXNpYmxlGi5BeGVzLkRlcHRoLkdyaWQuWlBvc2l0aW9uFi5BeGVzLkRlcHRoLkdyaWQuU3R5bGUlLkF4ZXMuRGVwdGguVGl0bGUuRm9udC5TaGFkb3cuVmlzaWJsZSAuQXhlcy5EZXB0aC5UaXRsZS5TaGFkb3cuVmlzaWJsZRUuQXhlcy5EZXB0aC5BdXRvbWF0aWMnLkF4ZXMuQm90dG9tLkxhYmVscy5Gb250LlNoYWRvdy5WaXNpYmxlIi5BeGVzLkJvdHRvbS5MYWJlbHMuU2hhZG93LlZpc2libGUbLkF4ZXMuQm90dG9tLkdyaWQuWlBvc2l0aW9uFy5BeGVzLkJvdHRvbS5HcmlkLlN0eWxlJi5BeGVzLkJvdHRvbS5UaXRsZS5Gb250LlNoYWRvdy5WaXNpYmxlIS5BeGVzLkJvdHRvbS5UaXRsZS5TaGFkb3cuVmlzaWJsZRYuQXhlcy5Cb3R0b20uQXV0b21hdGljJi5BeGVzLlJpZ2h0LkxhYmVscy5Gb250LlNoYWRvdy5WaXNpYmxlIS5BeGVzLlJpZ2h0LkxhYmVscy5TaGFkb3cuVmlzaWJsZRouQXhlcy5SaWdodC5HcmlkLlpQb3NpdGlvbhYuQXhlcy5SaWdodC5HcmlkLlN0eWxlJS5BeGVzLlJpZ2h0LlRpdGxlLkZvbnQuU2hhZG93LlZpc2libGUgLkF4ZXMuUmlnaHQuVGl0bGUuU2hhZG93LlZpc2libGUVLkF4ZXMuUmlnaHQuQXV0b21hdGljKS5BeGVzLkRlcHRoVG9wLkxhYmVscy5Gb250LlNoYWRvdy5WaXNpYmxlJC5BeGVzLkRlcHRoVG9wLkxhYmVscy5TaGFkb3cuVmlzaWJsZR0uQXhlcy5EZXB0aFRvcC5HcmlkLlpQb3NpdGlvbhkuQXhlcy5EZXB0aFRvcC5HcmlkLlN0eWxlKC5BeGVzLkRlcHRoVG9wLlRpdGxlLkZvbnQuU2hhZG93LlZpc2libGUjLkF4ZXMuRGVwdGhUb3AuVGl0bGUuU2hhZG93LlZpc2libGUYLkF4ZXMuRGVwdGhUb3AuQXV0b21hdGljFS5HcmFwaGljczNELkJhY2tDb2xvchUuR3JhcGhpY3MzRC5QZW4uQ29sb3IaLkdyYXBoaWNzM0QuU3VwcG9ydHMzRFRleHQVLkdyYXBoaWNzM0QuVXNlQnVmZmVyGS5HcmFwaGljczNELlNtb290aGluZ01vZGUTLkdyYXBoaWNzM0QuWUNlbnRlchMuR3JhcGhpY3MzRC5YQ2VudGVyGS5HcmFwaGljczNELkJydXNoLlZpc2libGUdLkdyYXBoaWNzM0QuVGV4dFJlbmRlcmluZ0hpbnQcLkdyYXBoaWNzM0QuUm90YXRpb25DZW50ZXIuWhwuR3JhcGhpY3MzRC5Sb3RhdGlvbkNlbnRlci5YHC5HcmFwaGljczNELlJvdGF0aW9uQ2VudGVyLlkfLkdyYXBoaWNzM0QuRm9udC5TaGFkb3cuVmlzaWJsZQYuV2lkdGgWLkFzcGVjdC5FbGV2YXRpb25GbG9hdBUuQXNwZWN0LlJvdGF0aW9uRmxvYXQHLkhlaWdodBkuTGVnZW5kLlRpdGxlLlBlbi5WaXNpYmxlFy5MZWdlbmQuVGl0bGUuRm9udC5Cb2xkIS5MZWdlbmQuVGl0bGUuRm9udC5TaGFkb3cuVmlzaWJsZRwuTGVnZW5kLlRpdGxlLlNoYWRvdy5WaXNpYmxlGy5MZWdlbmQuRm9udC5TaGFkb3cuVmlzaWJsZRUuUGFuZWwuU2hhZG93LlZpc2libGUNLkhlYWRlci5MaW5lcxsuSGVhZGVyLkZvbnQuU2hhZG93LlZpc2libGUWLkhlYWRlci5TaGFkb3cuVmlzaWJsZQAAAAAAAAAAAAAAAAAAAQEHAAcABAAAAAAABAQABAQAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAEBAAABAAAAAQAAAAAAAAAAAAAAAAAAAYAAAEBAQEBAQEBAQEBAQEBBggGCCVTdGVlbWEuVGVlQ2hhcnQuU3R5bGVzLlZhbHVlTGlzdE9yZGVyAgAAAAgBCAgBJlN0ZWVtYS5UZWVDaGFydC5TdHlsZXMuQXJyb3dIZWFkU3R5bGVzAgAAACRTdGVlbWEuVGVlQ2hhcnQuU3R5bGVzLlBvaW50ZXJTdHlsZXMCAAAACBRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQEGIlN5c3RlbS5EcmF3aW5nLkRyYXdpbmcyRC5EYXNoU3R5bGUDAAAAAQEBAQEGIlN5c3RlbS5EcmF3aW5nLkRyYXdpbmcyRC5EYXNoU3R5bGUDAAAAAQEBAQEGIlN5c3RlbS5EcmF3aW5nLkRyYXdpbmcyRC5EYXNoU3R5bGUDAAAAAQEBAQEGIlN5c3RlbS5EcmF3aW5nLkRyYXdpbmcyRC5EYXNoU3R5bGUDAAAAAQEBAQEGIlN5c3RlbS5EcmF3aW5nLkRyYXdpbmcyRC5EYXNoU3R5bGUDAAAAAQEBAQEGIlN5c3RlbS5EcmF3aW5nLkRyYXdpbmcyRC5EYXNoU3R5bGUDAAAAAQEBFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAABASZTeXN0ZW0uRHJhd2luZy5EcmF3aW5nMkQuU21vb3RoaW5nTW9kZQMAAAAICAElU3lzdGVtLkRyYXdpbmcuVGV4dC5UZXh0UmVuZGVyaW5nSGludAMAAAAICAgBCAYGCAEBAQEBAQEBAgAAAAAAAAAAAAAAAAAAAAAABgQAAAAfU3RlZW1hLlRlZUNoYXJ0LlN0eWxlcy5GYXN0TGluZQYFAAAACWZhc3RMaW5lMQkGAAAAAAAAAAkHAAAAAAAAAAX4////JVN0ZWVtYS5UZWVDaGFydC5TdHlsZXMuVmFsdWVMaXN0T3JkZXIBAAAAB3ZhbHVlX18ACAIAAAABAAAAAAAAAAAAAAAACgAAAAAF9////yZTdGVlbWEuVGVlQ2hhcnQuU3R5bGVzLkFycm93SGVhZFN0eWxlcwEAAAAHdmFsdWVfXwAIAgAAAAAAAAAF9v///yRTdGVlbWEuVGVlQ2hhcnQuU3R5bGVzLlBvaW50ZXJTdHlsZXMBAAAAB3ZhbHVlX18ACAIAAAAAAAAACAAAAAX1////FFN5c3RlbS5EcmF3aW5nLkNvbG9yBAAAAARuYW1lBXZhbHVlCmtub3duQ29sb3IFc3RhdGUBAAAACQcHAwAAAAoAAAAAAAAAACMAAQAB9P////X///8KAAAAAAAAAACNAAEAAAAAAAAAAAAAAAXz////IlN5c3RlbS5EcmF3aW5nLkRyYXdpbmcyRC5EYXNoU3R5bGUBAAAAB3ZhbHVlX18ACAMAAAABAAAAAAABAAAAAAAAAAAAAAHy////8////wEAAAAAAAEAAAAAAAAAAAAAAfH////z////AQAAAAAAAQAAAAAAAAAAAAAB8P////P///8BAAAAAAABAAAAAAAAAAAAAAHv////8////wEAAAAAAAEAAAAAAAAAAAAAAe7////z////AQAAAAAAAQHt////9f///woAAAAAAAAAAKQAAQAB7P////X///8KAAAAAAAAAAA0AAEAAAEF6////yZTeXN0ZW0uRHJhd2luZy5EcmF3aW5nMkQuU21vb3RoaW5nTW9kZQEAAAAHdmFsdWVfXwAIAwAAAAEAAACaAAAA0QAAAAAF6v///yVTeXN0ZW0uRHJhd2luZy5UZXh0LlRleHRSZW5kZXJpbmdIaW50AQAAAAd2YWx1ZV9fAAgDAAAAAAAAAAAAAAAAAAAAAAAAAACQAQAAAAAAAACQdUAAAAAAAJB1QCwBAAAAAQAAAAAJFwAAAAAADwYAAAAAAAAABg8HAAAAAAAAAAYRFwAAAAEAAAAGGAAAAAhUZWVDaGFydAs="
            GetChartFile="GetChart.aspx" TempChart="Session" style="left: 45px; position: static; top: 34px" Height="259px" Width="355px" />
        &nbsp;
        <asp:Label ID="Label1" runat="server" Height="45px" Text="Label" Width="137px"></asp:Label></div>
    </form>
</body>
</html>
This is just a simple website with a chart and label on it. I'm able to print the values in the label.
Best regards
Alex

Steema Crew

Post Reply