我嘗試根據數據庫中的表格創建簡單的winform報告。由於我想創建一個父圖表和可選的子圖表,因此有很多聚合。 下面是其中提請「父」報告如何創建親子報告
private bool DrawReport(DataTable dt)
{
string serieName;
foreach (object itemChecked in checkedListBox1.CheckedItems)
{
serieName = itemChecked.ToString();
chart1.Series.Add(serieName);
chart1.Series[serieName].ChartType = SeriesChartType.Column;
//chart1.Series[0].IsValueShownAsLabel = true;
}
chart1.ChartAreas[0].AxisX.LabelStyle.Angle = 90;
chart1.ChartAreas[0].AxisX.Interval = 1;
chart1.ChartAreas[0].AxisY.MajorGrid.LineWidth = 0;
chart1.ChartAreas[0].AxisX.MajorGrid.LineWidth = 0;
foreach (DataRow dr in dt.Rows)
{
string X = dr["DATE"].ToString() + " " + dr["HOUR"].ToString();
string Y = dr["MED"].ToString();
try
{
chart1.Series[SER].Points.AddXY(X, Y);
}
catch (Exception)
{
throw;
}
}
chart1.DataBind();
chart1.Visible = true;
return true;
}
到現在爲止一切正常的核心。
正如您看到X軸標籤包含時間段 - 實際上是4或6小時的時間段。 關鍵是要創建另一個圖表「孩子」。它會出現在我點擊系列元素時。所以現在的問題是如何將單擊的x軸元素(實際上是日期字符串)的值讀取到變量。我能夠在工具提示上顯示此值
chart1.Series[0].ToolTip = "#VALX"
但我找不到方法將其分配給變量。