Dictionary<string, string> MonthsDic = new Dictionary<string, string>();
MonthsDic.Add("1", "فروردین");
MonthsDic.Add("2", "اردیبهشت");
MonthsDic.Add("3", "خرداد");
MonthsDic.Add("4", "تیر");
MonthsDic.Add("5", "مرداد");
MonthsDic.Add("6", "شهریور");
MonthsDic.Add("7", "مهر");
MonthsDic.Add("8", "آبان");
MonthsDic.Add("9", "آذر");
MonthsDic.Add("10", "دی");
MonthsDic.Add("11", "بهمن");
MonthsDic.Add("12", "اسفند");
///
private void LoadMonthlyReport()
{
DataTable dt = new DataTable();
SqlCommand s = new SqlCommand("ReportMonthly", SCon);
s.CommandType = CommandType.StoredProcedure;
s.Parameters.AddWithValue("@Year", Year);
SCon.Open();
SqlDataReader dr = s.ExecuteReader();
dt.Load(dr);
dt.Columns.Add("MonthName", typeof(string));
foreach (DataRow d in dt.Rows)
{
switch (d["Month"].ToString())
{
case "1":
d["MonthName"] = "فروردین";
break;
case "2":
d["MonthName"] = "اردیبهشت";
break;
case "3":
d["MonthName"] = "خرداد";
break;
case "4":
d["MonthName"] = "تیر";
break;
case "5":
d["MonthName"] = "مرداد";
break;
case "6":
d["MonthName"] = "شهریور";
break;
case "7":
d["MonthName"] = "مهر";
break;
case "8":
d["MonthName"] = "آبان";
break;
case "9":
d["MonthName"] = "آذر";
break;
case "10":
d["MonthName"] = "دی";
break;
case "11":
d["MonthName"] = "بهمن";
break;
case "12":
d["MonthName"] = "اسفند";
break;
}
}
chtWRMonthly.DataSource = dt;
chtWRMonthly.Series["Sold"].XValueMember = "MonthName";
chtWRMonthly.Series["sRemaining"].XValueMember = "MonthName";
chtWRMonthly.Series["Bought"].XValueMember = "MonthName";
chtWRMonthly.Series["bRemaining"].XValueMember = "MonthName";
chtWRMonthly.Series["Sold"].YValueMembers = "sTAccount";
chtWRMonthly.Series["sRemaining"].YValueMembers = "sRemaining";
chtWRMonthly.Series["Bought"].YValueMembers = "bTAccount";
chtWRMonthly.Series["bRemaining"].YValueMembers = "bRemaining";
SCon.Close();
}
//为本月号码和发送到SQL
private void chtWRMonthly_MouseClick(object sender, MouseEventArgs e)
{
string MonthName = "";
Boolean S = true;
Point MP = new Point(e.X);
chtWRMonthly.ChartAreas[0].CursorX.Interval = 0;
int X, Px = (int)chtWRMonthly.ChartAreas[0].AxisX.PixelPositionToValue(e.X);
X = (int)Math.Round((float)chtWRMonthly.ChartAreas[0].AxisX.PixelPositionToValue(e.X)) - 1;
MonthName = chtWRMonthly.Series[0].Points[X].AxisLabel;
if (MonthName != "")
{
if (Px >= X+1)
S = false;
SqlDataAdapter SDA = new SqlDataAdapter("ReportMonthlyShowInvoices", SCon);
SDA.SelectCommand.CommandType = CommandType.StoredProcedure;
SDA.SelectCommand.Parameters.AddWithValue("@Year", Year);
SDA.SelectCommand.Parameters.AddWithValue("@Month", MonthsDic.First(Pair => Pair.Value == MonthName).Key);
SDA.SelectCommand.Parameters.AddWithValue("@S", S);
DataTable DT = new DataTable();
SDA.Fill(DT);
}
您使用哪种数据类型来添加x值?他们真的是DataTimes?然后,只有到那时,你可以用一个漂亮的Fromtat字符串x轴的标签。使100%你不添加他们添加字符串!顺便说一句:你显示的图形看起来太烦了,我不知道是什么显示.. – TaW
其只是intiger值,没有 – MPERSIA
但它很清楚,那我能做什么? – MPERSIA