Chalalo Land

Tecnologías ASP.NET y un poco Más

Contacto


 Si quierer cooperar, yo feliz, muy agradecido :)

De donde me Visitan?

Locations of visitors to this page

Generic Content

Si te gustaron los articulos, y te animas te estaría muy agradecido!


Recent Posts

Tags

Community

Blogs de MVP

Amigos Geeks

Blogs Imperdibles

GODS

Archives

Email Notifications

[Tip] Click Event en ASP.NET Chart

Hola, este es un tip rápido por una pregunta que me llegó al correo, y resumiendo la pregunta es “Se puede interactuar con el control chart de asp.net”, y la respuesta es:

SI, se puede implementar el código para que cuando se haga click en una porción del gráfico, puedas determinar el índice dentro del mismo y con esto ya tienes un valor con el que puedes, por ejemplo, ir a un grafico de nivel más detallado.

Epa!, si no sabías que existían, son totalmente gratis y los puedes descargar desde acá:
http://archive.msdn.microsoft.com/mschart

image

Nota: Si tienes Visual Studio 2010 y los quieres utilizar para fx 3.5 descarga la librería y agregas el control desde la toolbox.

Entonces, manos a la obra, tengo mi gráfico:

image

En la Page_Load Agrego el manejador y agregamos la información del índice al PostBackValue de cada elemento dentro de la serie, luego se le agrega el comportamiento en el lado del cliente , atachando en el onclick el llamado a la función getCoodinates que es generada por el ensamblado

AddHandler Me.Chart1.Click, AddressOf Chart1_Click

For Each series As Series In Me.Chart1.Series

   series.PostBackValue = "#INDEX"

Next

Dim postbackScript As String =

             ClientScript.GetPostBackEventReference(Me.Chart1, "chart:@")

Me.Chart1.Attributes("onclick") =
             postbackScript.Replace("@'", "' + getCoordinates(event)")

Ahora simplemente creamos el método Chart1_Click

Protected Sub Chart1_Click(ByVal sender As Object, ByVal e As ImageMapEventArgs)
Dim indice As String = e.PostBackValue

 lb_seleccion.Text = Chart1.Series("Default").Points(indice).LegendText
End Sub

En donde se obtiene el índice y busco busco el punto con este índice, para obtener la leyenda y escribir en el label. Obviamente si tienes una colección de objetos, este índice te puede servir mucho y enviar como parámetro a otro método para lograr un nivel de detalle en la gráfica para la selección al hacer click.

Eso, espero que les sirva,


Saludos,

Gonzalo

Posted: 5/3/2011 3:46 por Gonzalo Perez | con 3 comment(s)
Archivado en: ,,
Comparte este post:

Comentarios

rafael gomez ha opinado:

Buenas tardes,

es posible que me expliques como agrego esto al Page_Load

[En la Page_Load Agrego el manejador y agregamos la información del índice al PostBackValue de cada elemento dentro de la serie, luego se le agrega el comportamiento en el lado del cliente , atachando en el onclick el llamado a la función getCoodinates que es generada por el ensamblado]

# August 11, 2011 11:51 PM

rafael gomez ha opinado:

Buenas tardes,

es posible que me expliques como agrego esto al Page_Load

[En la Page_Load Agrego el manejador y agregamos la información del índice al PostBackValue de cada elemento dentro de la serie, luego se le agrega el comportamiento en el lado del cliente , atachando en el onclick el llamado a la función getCoodinates que es generada por el ensamblado]

# August 11, 2011 11:52 PM

Gonzalo Perez ha opinado:

Hola Rafael, precisamente es lo que ocurre en el código que está a continuación en el articulo :)

# August 12, 2011 6:04 AM