📄 sample.aspx
字号:
string show = DropDownShow.SelectedItem.Value;
string yearFromDate = YearFrom.SelectedItem.Value;
string monthFromDate = MonthFrom.SelectedItem.Value;
string dayFromDate = DayFrom.SelectedItem.Value;
string yearToDate = YearTo.SelectedItem.Value;
string monthToDate = MonthTo.SelectedItem.Value;
string dayToDate = DayTo.SelectedItem.Value;
dotnetCHARTING.TimeInterval myDategrouping = TimeInterval.Year;
string ByCustomer="";
if(DropDownBy.SelectedItem.Value=="Customer")
ByCustomer="Customer";
else
myDategrouping = (dotnetCHARTING.TimeInterval)Enum.Parse(typeof(dotnetCHARTING.TimeInterval),DropDownBy.SelectedItem.Value,true);
string splitBy = SplitBy.SelectedItem.Value;
string splitByLimit = SplitByLimit.Text;
string seriesAggregation = DropDownSeriesAggregation.SelectedItem.Value;
string limit = TextBoxLimit.Text;
string show3D = Chart3D.SelectedItem.Value;
string reportType = show + "by";
if(ByCustomer!="")
reportType += ByCustomer;
else
reportType += myDategrouping;
StringBuilder SqlSelect = null;
StringBuilder where=null;
if((yearFromDate!="" && monthFromDate!="" && dayFromDate!="" ) || (yearToDate !="" && monthToDate!="" && dayToDate!=""))
{
where = new StringBuilder(" WHERE ");
if(yearFromDate!="" && monthFromDate!="" && dayFromDate!="" )
{
Chart.DefaultSeries.StartDate= new DateTime(Convert.ToInt32(yearFromDate), Convert.ToInt32(monthFromDate),Convert.ToInt32(dayFromDate),0,0,0);
where.Append("OrderDate >= #STARTDATE#");
if(yearToDate !="" && monthToDate!="" && dayToDate!="")
{
Chart.DefaultSeries.EndDate=new DateTime(Convert.ToInt32(yearToDate), Convert.ToInt32(monthToDate),Convert.ToInt32(dayToDate),23,59,59);
where.Append("AND OrderDate <= #ENDDATE#");
}
}
else
{
Chart.DefaultSeries.EndDate=new DateTime(Convert.ToInt32(yearToDate), Convert.ToInt32(monthToDate),Convert.ToInt32(dayToDate),23,59,59);
where.Append("AND OrderDate <= #ENDDATE#");
}
}
else
{
string daySelection = Day.SelectedItem.Value;
string monthSelection = Month.SelectedItem.Value;
string yearSelection = Year.SelectedItem.Value;
if(yearSelection!="" && monthSelection!="" && daySelection!="")
{
int d = DateTime.DaysInMonth(int.Parse(yearSelection),int.Parse(monthSelection));
if(int.Parse(daySelection) > d)
{
daySelection = d.ToString();
Day.SelectedIndex = d;
}
do{
if(myDategrouping == TimeInterval.Day || myDategrouping == TimeInterval.Hours)
{
Chart.DefaultSeries.StartDate= new DateTime(Convert.ToInt32(yearSelection), Convert.ToInt32(monthSelection), Convert.ToInt32(daySelection),0,0,0);
Chart.DefaultSeries.EndDate=new DateTime(Convert.ToInt32(yearSelection), Convert.ToInt32(monthSelection), Convert.ToInt32(daySelection),23,59,59);
where = new StringBuilder(" WHERE OrderDate >= #STARTDATE# AND OrderDate <= #ENDDATE# ");
break;
}
else if(myDategrouping == TimeInterval.Month || myDategrouping== TimeInterval.Days || myDategrouping== TimeInterval.Weeks)
{
Chart.DefaultSeries.StartDate= new DateTime(Convert.ToInt32(yearSelection), Convert.ToInt32(monthSelection), 1,0,0,0);
Chart.DefaultSeries.EndDate=new DateTime(Convert.ToInt32(yearSelection), Convert.ToInt32(monthSelection), d,23,59,59);
where = new StringBuilder(" WHERE OrderDate >= #STARTDATE# ");
where.Append("AND OrderDate <= #ENDDATE#");
break;
}
else if(myDategrouping == TimeInterval.Year || myDategrouping == TimeInterval.Quarter || myDategrouping == TimeInterval.Weeks)
{
Chart.DefaultSeries.StartDate= new DateTime(Convert.ToInt32(yearSelection), 1, 1,0,0,0);
Chart.DefaultSeries.EndDate=new DateTime(Convert.ToInt32(yearSelection), 12, 31,23,59,59);
where = new StringBuilder(" WHERE OrderDate >= #STARTDATE# ");
where.Append("AND OrderDate <= #ENDDATE#");
break;
}
}while(false);
}
}
//General settings
Chart.Visible=true;
Chart.Type = myChartType;
Chart.DefaultSeries.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;user id=admin;password=;data source=" + Server.MapPath("../../database/Chartsample.mdb");
Chart.Height=480;
Chart.Width=640;
Chart.UseFile=true;
Chart.TempDirectory="temp";
Chart.TitleBox.IconPath="icon.gif";
Chart.DefaultSeries.Limit=limit;
Chart.DefaultSeries.LimitMode = (dotnetCHARTING.LimitMode)Enum.Parse(typeof(dotnetCHARTING.LimitMode),DropDownLimitMode.SelectedItem.Value,true);
Chart.Debug=true;
Chart.DonutHoleSize = 50;
Chart.LegendBox.Template="%icon%name";
if(ShowValues.Checked)
Chart.DefaultSeries.DefaultElement.ShowValue= true;
if(show3D=="true")
Chart.Use3D=true;
else
Chart.Use3D=false;
if(Transpose.Checked)
Chart.Transpose=true;
if(ShowOther.Checked)
Chart.DefaultSeries.ShowOther=true;
else
Chart.DefaultSeries.ShowOther=false;
Chart.DefaultSeries.Type = mySeriesType;
Chart.DefaultAxis.Scale = myAxisScale;
if(ByCustomer=="" && myChartType!=ChartType.Scatter && myChartType!=ChartType.Bubble)
{
Chart.DateGrouping = myDategrouping;
if(DropDownShow.SelectedItem.Value == "Sales")
Chart.YAxis.FormatString ="currency";
else
Chart.DefaultAxis.NumberPercision = 1;
}
reportType = reportType.ToLower();
if(myChartType.Equals(ChartType.Bubble))
{
//set global properties
Chart.Title="Sales comparison for 3 days";
Chart.YAxis.Label.Text ="Sales";
Chart.XAxis.Label.Text ="No of Items";
Chart.Palette = new Color [] {Color.Blue,Color.Red,Color.Yellow};
Chart.DefaultSeries.DefaultElement.Transparency = 50;
Chart.XAxis.NumberPercision=2;
Chart.LegendBox.Template="%icon %name";
//Add a series
Chart.Series.Name="Dec 6,2002";
Chart.Series.StartDate = new DateTime(2002,12,6,0,0,0);
Chart.Series.EndDate = new DateTime(2002,12,6,23,59,59);
Chart.Series.SqlStatement = @"SELECT Orders.ItemNo,Sum(Orders.Total), Sum(Orders.Quantity) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo";
Chart.SeriesCollection.Add();
//Add a series
Chart.Series.Name="Dec 7,2002";
Chart.Series.StartDate =new DateTime(2002,12,7,0,0,0);
Chart.Series.EndDate=new DateTime(2002,12,7,23,59,59);
Chart.Series.SqlStatement = @"SELECT Orders.ItemNo,Sum(Orders.Total), Sum(Orders.Quantity) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo";
Chart.SeriesCollection.Add();
//Add a series
Chart.Series.Name="Dec 8,2002";
Chart.Series.StartDate =new DateTime(2002,12,8,0,0,0);
Chart.Series.EndDate=new DateTime(2002,12,8,23,59,59);
Chart.Series.SqlStatement = @"SELECT Orders.ItemNo,Sum(Orders.Total), Sum(Orders.Quantity) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo";
Chart.SeriesCollection.Add();
}
else if(myChartType.Equals(ChartType.Scatter))
{
Chart.Title=show + " By item no";
Chart.YAxis.Label.Text =show;
Chart.XAxis.Label.Text ="Item No";
Chart.DefaultSeries.Name="Dec 6-8,2002";
Chart.DefaultSeries.StartDate =new DateTime(2002,12,6,0,0,0);
Chart.DefaultSeries.EndDate=new DateTime(2002,12,8,23,59,59);
Chart.DefaultSeries.DefaultElement.LabelTemplate="(%xvalue, %yvalue)";
Chart.XAxis.NumberPercision=2;
switch(show.ToLower())
{
case "sales":
//Add a series
Chart.Series.SqlStatement= @"SELECT Orders.ItemNo,Sum(Orders.Total) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo";
Chart.SeriesCollection.Add();
break;
case "orders":
//Add a series
Chart.Series.SqlStatement= @"SELECT Orders.ItemNo,Count(1) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo";
Chart.SeriesCollection.Add();
break;
case "items":
//Add a series
Chart.Series.SqlStatement= @"SELECT Orders.ItemNo,Sum(Orders.Quantity) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo";
Chart.SeriesCollection.Add();
break;
}
}
else
{
if(Sum.Checked)
Chart.Series.Elements.Add(Calculation.Sum,"Total");
if(Average.Checked)
Chart.Series.Elements.Add(Calculation.Average,"Average");
if(Mode.Checked)
Chart.Series.Elements.Add(Calculation.Mode,"Mode");
if(Median.Checked)
Chart.Series.Elements.Add(Calculation.Median,"Median");
if(Min.Checked)
Chart.Series.Elements.Add(Calculation.Minimum,"Min");
if(Max.Checked)
Chart.Series.Elements.Add(Calculation.Maximum,"Max");
if(ByCustomer!="")
{
Chart.XAxis.Label.Text="Customers";
}
else
{
if(myChartType == dotnetCHARTING.ChartType.Combo)
Chart.XAxis.Label.Text=myDategrouping.ToString();
}
Chart.Series.Name = DropDownShow.SelectedItem.Value;
Chart.DefaultSeries.SplitByLimit=splitByLimit;
switch(reportType.ToLower())
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -