2012-03-13 159 views
1

我在我的應用程序中有一個.net 4.0點圖。我想捕獲鼠標點擊數據標記。當用戶點擊某個特定點時,我想要轉到數據來自的綁定表中的行。從Microsoft圖表控件獲取鼠標單擊事件點擊數據標記

該功能是否內置在.net圖表控件中?

編輯:我發現我可能確實想要光標位置值而不是要求用戶點擊特定的數據點。獲得光標位置後,可以使用該值查找距離鼠標點擊最近的數據集中的行。我接受了以下原始問題的答案,因爲這是我最初要求的正確答案。

我的「現實」問題的解決方法是在後發現用戶奎因在後 Showing Mouse Axis Coordinates on Chart Control

{ 
    var chartArea = _chart.ChartAreas[0]; 
    var xValue = chartArea.AxisX.PixelPositionToValue(x); 
    var yValue = chartArea.AxisY.PixelPositionToValue(y); 
    return new Tuple<double, double>(xValue, yValue); 
} 

回答

1

你可以試試這個:

protected void Page_Load(object sender, EventArgs e) 
{ 
    foreach (DataPoint dp in this.Chart1.Series["YourSeriesName"].Points) 
    { 
     dp.PostBackValue = "#VALX,#VALY"; 
    } 
} 
protected void Chart1_Click(object sender, ImageMapEventArgs e) 
{ 
    string[] pointData = e.PostBackValue.Split(','); 
    // Add click event code here 
} 

你需要設置OnClick="Chart1_Click"asp:Chart。 或者如果您的圖表上有多個系列,則可以直接設置系列回發並傳遞關於該系列的信息。

+0

我相信e.PostBackValue.Split應該使用「,」分隔符而不是分號「;」分隔符。可能只是一個錯字,但可以指出任何絆倒這個問題的人。 – CodeFu65816 2013-10-14 17:22:01