private void ShowTitle() { StuGLSearch stuSearchTemp = GlobalStuSearch; if (ViewState["title"] == null) { ViewState.Add("title", new CglDBData().SetTitleString(stuSearchTemp)); } Page.Title = (string)ViewState["title"]; lblTitle.Text = (string)ViewState["title"]; if (ddlNexts.SelectedValue != "gen") { stuSearchTemp.StrNextNums = ddlNexts.SelectedValue; } // if (ViewState["lblMethod"] == null) { ViewState.Add("lblMethod", string.Format(InvariantCulture, "{0}:{1}", "頻率總表", new CglMethod().SetMethodString(stuSearch))); } lblMethod.Text = string.Format(InvariantCulture, "{0}:{1}", "頻率總表", new CglMethod().SetMethodString(stuSearchTemp)); if (ViewState["lblSearchMethod"] == null) { ViewState.Add("lblSearchMethod", new CglMethod().SetSearchMethodString(stuSearchTemp)); } lblSearchMethod.Text = (string)ViewState["lblSearchMethod"]; //顯示當前資料 if (ViewState["CurrentData"] == null) { ViewState.Add("CurrentData", new CglFunc().CDicTOTable(new CglData().GetCurrentDataDics(stuSearchTemp))); } GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", (DataTable)ViewState["CurrentData"], true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); }
private void ShowData() { int intYear = string.IsNullOrEmpty(txtDate.Text) ? 0 : int.Parse(txtDate.Text.Substring(0, 4), InvariantCulture) + 1911; using DataTable dtSolar24 = GetSolar24Data(intYear); GridView gvSolar24 = new GalaxyApp().CreatGridView("gvSolar24", "gltable", dtSolar24, true, false); gvSolar24.RowDataBound += GvSolar24_RowDataBound; gvSolar24.DataBind(); pnlSoalr24.Controls.Add(gvSolar24); }
private void ShowResult() { Page.Title = (string)ViewState["title"]; lblTitle.Text = (string)ViewState["title"]; // 當期資料 GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", (DataTable)base.ViewState["CurrentData"], true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); #region Import Data dsFreqSet = (DataSet)ViewState["FreqSetDS"]; #endregion Import Data #region Show the result #region FreqSet Part #region Set panel Frequency Result //pnlFreq.Controls.Add(new Label() { Text = string.Format(InvariantCulture, "{0} Freq", dicFreqResult.Key) }); Panel pnlFreqSet = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "{0}pnlFreqSet", "gen"), "max-width"); GridView gvFreqSet = new GalaxyApp().CreatGridView(string.Format(InvariantCulture, "{0}gvFreqSet", "gen"), "gltable", dsFreqSet.Tables["dtFreqSet"], true, false); #region Set Columns of DataGrid gvProcess if (gvFreqSet.Columns.Count == 0) { for (int i = 0; i < dsFreqSet.Tables["dtFreqSet"].Columns.Count; i++) { string strColumnName = dsFreqSet.Tables["dtFreqSet"].Columns[i].ColumnName; BoundField bfCell = new BoundField() { DataField = strColumnName, HeaderText = dsFreqSet.Tables["dtFreqSet"].Columns[i].Caption, //SortExpression = strColumnName }; gvFreqSet.Columns.Add(bfCell); } } #endregion gvFreqSet.RowDataBound += GvFreqSet_RowDataBound; gvFreqSet.DataBind(); pnlFreqSet.Controls.Add(gvFreqSet); #endregion Set panel Frequency Result pnlDetail.Controls.Add(pnlFreqSet); #endregion FreqSet Part #endregion Show the result }
private void ShowTitle() { Page.Title = ViewState[FreqActiveChart01ID + "title"].ToString(); lblTitle.Text = Page.Title; lblMethod.Text = (string)ViewState[FreqActiveChart01ID + "lblMethod"]; lblSearchMethod.Text = (string)ViewState[FreqActiveChart01ID + "lblSearchMethod"]; // 當期資料 GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", (DataTable)ViewState[FreqActiveChart01ID + "CurrentData"], true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); }
private void ShowResult(StuGLSearch stuGLSearch) { Page.Title = (string)ViewState["title"]; lblTitle.Text = (string)ViewState["title"]; lblMethod.Text = new CglMethod().SetMethodString(stuGLSearch); lblSearchMethod.Text = new CglMethod().SetSearchMethodString(stuGLSearch); // 當期資料 GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", (DataTable)ViewState["CurrentData"], true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); SetddlFreq(); ShowDetail(ddlFreq.SelectedValue); }
#pragma warning disable CA1707 // Identifiers should not contain underscores protected void Page_Load(object sender, EventArgs e) #pragma warning restore CA1707 // Identifiers should not contain underscores { if (!IsPostBack) { DataRangeStartInit(TargetTable.Lotto539); } SearchOption_init(); //if (ViewState["_dicNumcssclass"] == null) { ViewState.Add("_dicNumcssclass", GetNumcssclass(_gstuSearch)); } _dicNumcssclass = new GalaxyApp().GetNumcssclass(_gstuSearch); // 當期資料 GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", new CglFunc().CDicTOTable(new CglData().GetCurrentDataDics(_gstuSearch)), true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); }
private void ShowDetail(string selectedValue) { foreach (var dicEachResult in _dicFreqActive) { Panel pnlFreq = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "pnlFrequency_{0}{1}", dicEachResult.Key, selectedValue), "max-width"); pnlFreq.Controls.Add(new GalaxyApp().CreatLabel(string.Format(InvariantCulture, "FreqActive_{0}{1}", dicEachResult.Key, selectedValue), string.Format(InvariantCulture, "FreqActive_{0}({1})", selectedValue, _dicFreqActive[selectedValue].Rows.Count), "gllabel")); pnlDetail.Controls.Add(pnlFreq); #region Set panel Frequency Result DataTable dtFreqResult = _dicFreqActive[selectedValue].Copy(); dtFreqResult.Columns.Remove("lngFreqSN"); dtFreqResult.Columns.Remove("lngMethodSN"); GridView gvFreqActive = new GalaxyApp().CreatGridView(string.Format(InvariantCulture, "gvFreqActive_{0}", dicEachResult.Key), "gltable", dtFreqResult, true, false); #region Set Css foreach (DataControlField dcColumn in gvFreqActive.Columns) { string strColumnName = dcColumn.SortExpression; if (_dicNumcssclass.Keys.Contains(strColumnName.Substring(4))) { dcColumn.HeaderStyle.CssClass = _dicNumcssclass[strColumnName.Substring(4)]; } } #endregion gvFreqActive.RowDataBound += GvFreqActive_RowDataBound; gvFreqActive.DataBind(); pnlFreq.Controls.Add(gvFreqActive); #endregion Set panel Frequency Result } }
private void ShowDetail(StuGLSearch stuGLSearch, string selectedValue) { Panel pnlMiss = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "pnlMissAll_{0}", selectedValue), "max-width"); DataTable dtDataTable = ((Dictionary <string, DataTable>)_dicMissAll["MissAll"])[selectedValue]; //DataTable dtDataTable = KeyVal.Value.Rows.Cast<DataRow>().Take(stuSearch00.IntDisplayPeriod).CopyToDataTable(); pnlMiss.Controls.Add(new GalaxyApp().CreatLabel(string.Format(InvariantCulture, "{0}lblMissAll", selectedValue), string.Format(InvariantCulture, "{0} MissAll({1}期)", selectedValue, dtDataTable.Rows.Count), "gllabel")); #region Convert 0 to -1 to -7 for (int intRow = 0; intRow < dtDataTable.Rows.Count; intRow++) { int intIndexofZero = -1; for (int intNum = 1; intNum <= new CglDataSet(stuGLSearch.LottoType).LottoNumbers; intNum++) { string strColName = string.Format(InvariantCulture, "lngM{0}", intNum); if (int.Parse(dtDataTable.Rows[intRow][strColName].ToString(), InvariantCulture) == 0) { dtDataTable.Rows[intRow][strColName] = intIndexofZero; intIndexofZero--; } } } #endregion #region GridView dtDataTable.DefaultView.Sort = chkOrder.Checked ? "lngTotalSN ASC" : "lngTotalSN DESC"; GridView gvMissAll = new GalaxyApp().CreatGridView(string.Format(InvariantCulture, "{0} MissAll", selectedValue), "gltable table-hover", dtDataTable, true, false); gvMissAll.ShowHeaderWhenEmpty = true; #region Set Columns of DataGrid gvMissAll if (gvMissAll.Columns.Count != 0) { int intlngm = 1; foreach (BoundField bfCell in gvMissAll.Columns) { string strColumnName = bfCell.DataField; #region Css if ((strColumnName.Substring(0, 4) != "lngL" && strColumnName.Substring(0, 4) != "lngM") || strColumnName == "lngMethodSN") { bfCell.ItemStyle.CssClass = strColumnName; } #endregion #region Show the number of lngL,lngS,lngM with 2 digital if (strColumnName.Substring(0, 4) == "lngM" && strColumnName != "lngMethodSN" && strColumnName != "lngMiss00SN") { bfCell.DataFormatString = "{0:d2}"; if (_dicCurrentNums.Values.Contains(int.Parse(strColumnName.Substring(4), InvariantCulture)) && ckAns.Checked) { bfCell.HeaderStyle.CssClass = string.Format(InvariantCulture, "lngM{0}", intlngm); intlngm++; } int intNum = int.Parse(strColumnName.Substring(4), InvariantCulture); if (intNum % 5 == 0 && strColumnName.Substring(0, 4) == "lngM") { bfCell.ItemStyle.CssClass = "glColNum5"; } } #endregion } } #endregion gvMissAll.RowDataBound += GvMissAll_RowDataBound; gvMissAll.DataBind(); #endregion GridView pnlMiss.Controls.Add(gvMissAll); pnlDetail.Controls.Add(pnlMiss); }
protected void Calendar01_SelectionChanged(object sender, EventArgs e) { using DataTable dtDate = new CglData().GetDateData(Calendar01.SelectedDate.Date); DataRow drDAte = dtDate.NewRow(); // 找農曆 TaiwanLunisolarCalendar tlc = new TaiwanLunisolarCalendar(); int leapMouth = tlc.GetLeapMonth(tlc.GetYear(Calendar01.SelectedDate.Date)); int LuniMouth = tlc.GetMonth(Calendar01.SelectedDate.Date); if (leapMouth > 0) { if (LuniMouth == leapMouth) { LuniMouth = leapMouth - 1; } else if (LuniMouth > leapMouth) { LuniMouth -= 1; } } drDAte["lngDateSN"] = string.Format(InvariantCulture, "{0}{1:d2}{2:d2}", Calendar01.SelectedDate.Year, Calendar01.SelectedDate.Month, Calendar01.SelectedDate.Day); drDAte["lngCDateSN"] = string.Format(InvariantCulture, "{0}{1:d2}{2:d2}", tlc.GetYear(Calendar01.SelectedDate.Date), LuniMouth, tlc.GetDayOfMonth(Calendar01.SelectedDate.Date)); //找紫微 StuPurple stuTemp = new StuPurple { StrWYear = Calendar01.SelectedDate.Year.ToString(InvariantCulture), StrWMonth = Calendar01.SelectedDate.Month.ToString("d2", InvariantCulture), StrWDay = Calendar01.SelectedDate.Day.ToString("d2", InvariantCulture), StrWHour = "YY11", IntGender = CglPurple.Gender.MalePlus }; stuTemp.Init(); foreach (KeyValuePair <string, string> KeyPair in stuTemp.DicUpdateData) { if (KeyPair.Key != "lngDateSN") { if (KeyPair.Value.Length >= 4) { drDAte[KeyPair.Key] = KeyPair.Value.Substring(0, 4); } else { drDAte[KeyPair.Key] = KeyPair.Value; } } } // dtDate.Rows.Add(drDAte); GridView gvDate = new GalaxyApp().CreatGridView("gvDate", " gltabel ", dtDate, true, true); gvDate.DataBind(); pnlCalendar.Controls.Add(gvDate); // 一些使用的範例程式 //StringBuilder stringBuilder = new StringBuilder(0,8000); //for (int i = 2007; i <= 2050; i++) //{ // CNDate cd1 = new CNDate(new DateTime(i, Calendar01.SelectedDate.Date.Month, Calendar01.SelectedDate.Date.Day)); // stringBuilder.AppendLine("計算 " + i + "年隔年農曆過年的國曆日期:" + cd1.GetNextLunarNewYearDate().ToLongDateString() + "<br/>"); //} //CNDate cd = new CNDate(Calendar01.SelectedDate); //stringBuilder.AppendLine("今年農曆天數:" + cd.LunarYearDays(2007).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 01 月農曆天數:" + cd.LunarMonthDays(2007, 1).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 02 月農曆天數:" + cd.LunarMonthDays(2007, 2).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 03 月農曆天數:" + cd.LunarMonthDays(2007, 3).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 04 月農曆天數:" + cd.LunarMonthDays(2007, 4).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 05 月農曆天數:" + cd.LunarMonthDays(2007, 5).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 06 月農曆天數:" + cd.LunarMonthDays(2007, 6).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 07 月農曆天數:" + cd.LunarMonthDays(2007, 7).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 08 月農曆天數:" + cd.LunarMonthDays(2007, 8).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 09 月農曆天數:" + cd.LunarMonthDays(2007, 9).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 10 月農曆天數:" + cd.LunarMonthDays(2007, 10).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 11 月農曆天數:" + cd.LunarMonthDays(2007, 11).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今年 12 月農曆天數:" + cd.LunarMonthDays(2007, 12).ToString(InvariantCulture) + "<br/>"); //stringBuilder.AppendLine("今天的農曆日期:" + cd.GetLunarHolDay() + "<br/>"); //stringBuilder.AppendLine("今年的農曆潤月月份:" + cd.GetLeapMonth(2007) + "<br/>"); //stringBuilder.AppendLine("計算國曆當天對應的節氣:" + cd.LGetLunarHolDay() + "<br/>"); //stringBuilder.AppendLine("計算今年農曆過年的國曆日期:" + cd.GetLunarNewYearDate().ToLongDateString() + "<br/>"); //lblCC.Text = stringBuilder.ToString(); }
private void ShowResult(StuGLSearch stuGLSearch) { lblTitle.Text = Page.Title; lblMethod.Text = new CglMethod().SetMethodString(stuGLSearch); lblSearchMethod.Text = new CglMethod().SetSearchMethodString(stuGLSearch); #region Current Data pnlCurrentData //顯示當前資料 GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", new CglFunc().CDicTOTable(new CglData().GetCurrentDataDics(stuGLSearch)), true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); #endregion #region Import Data if (ViewState["dicSum"] == null) { ViewState.Add("dicSum", new CglSum().GetSumDic(stuGLSearch, CglSum.TableName.QrySum01, SortOrder.Descending)); } #region Initialize #endregion Initialize Dictionary <string, object> dicSum = (Dictionary <string, object>)ViewState["dicSum"]; #region Show the result #region views index int intView = 0; #endregion views index #region Loop foreach (KeyValuePair <string, DataSet> KeyVal in (Dictionary <string, DataSet>)dicSum["Sum"]) { Panel pnlSum = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "pnlSum_{0}", KeyVal.Key), "max-width"); pnlDetail00.Controls.Add(pnlSum); #region SetButtons HyperLink btnSwitchView = new GalaxyApp().CreatHyperLink(string.Format(InvariantCulture, "btn{0}", KeyVal.Key), "glbutton glbutton-grey", string.Format(InvariantCulture, "{0}", KeyVal.Key), new Uri(string.Format(InvariantCulture, "#{0}", pnlSum.ID))); btnSwitchView.Attributes.Add("onclick", string.Format(InvariantCulture, "twoFocus('{0}lblSum,{0}lblSumNext');", KeyVal.Key)); //btnSwitchView.Command += BtnSwitchViewCommand; pnlButtons.Controls.Add(btnSwitchView); #endregion SetButtons #region Data Convert DataSet dsSumT = KeyVal.Value; DataTable dtResult = dsSumT.Tables["Result"]; DataTable dtNextData = dsSumT.Tables["NextData"]; #endregion Data Convert #region Sum Result part HyperLink hySum = new GalaxyApp().CreatHyperLink(string.Format(InvariantCulture, "{0}hySum", KeyVal.Key), "gllabel", string.Format(InvariantCulture, "{0} ({1}期)", KeyVal.Key, dtResult.Rows.Count), new Uri(string.Format(InvariantCulture, "#{0}lblSumNext", KeyVal.Key))); hySum.TabIndex = -1; pnlSum.Controls.Add(hySum); #region GridView dtResult.DefaultView.Sort = "lngTotalSN DESC"; GridView gvMain = new GalaxyApp().CreatGridView(string.Format(InvariantCulture, "gvMain{0}", KeyVal.Key), "gltable ", dtResult, false, false); #region Set Columns of DataGrid dgMissAll if (gvMain.Columns.Count == 0) { for (int i = 0; i < dtResult.Columns.Count; i++) { BoundField bfCell = new BoundField() { DataField = dtResult.Columns[i].ColumnName, HeaderText = new CglFunc().ConvertFieldNameId(dtResult.Columns[i].ColumnName, 1), SortExpression = dtResult.Columns[i].ColumnName }; string strColumnName = dtResult.Columns[i].ColumnName; #region Css if ((strColumnName.Substring(0, 4) != "lngL" && strColumnName.Substring(0, 4) != "lngM") || strColumnName == "lngMethodSN") { bfCell.ItemStyle.CssClass = strColumnName; } #endregion #region Show the number of lngL,lngS,lngM with 2 digital if (strColumnName.Substring(0, 4) == "lngL" || strColumnName.Substring(0, 4) == "lngS" || strColumnName.Substring(0, 4) == "lngM") { bfCell.DataFormatString = "{0:d2}"; } #endregion gvMain.Columns.Add(bfCell); } } #endregion //gvMain.HeaderStyle.CssClass = "FixedHeader "; gvMain.RowDataBound += GvMissAll_RowDataBound; gvMain.DataBind(); #endregion GridView pnlSum.Controls.Add(gvMain); #endregion Sum Result part #region Sum NextData part Panel pnlSumNext = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "{0}pnlSumNext", KeyVal.Key), "max-width"); pnlDetail01.Controls.Add(pnlSumNext); Label lblSumNext = new GalaxyApp().CreatLabel(string.Format(InvariantCulture, "{0}lblSumNext", KeyVal.Key), string.Format(InvariantCulture, "{0} ({1}期)", KeyVal.Key, dtNextData.Rows.Count), "gllabel"); lblSumNext.TabIndex = -1; pnlSumNext.Controls.Add(lblSumNext); #region GridView GridView gvMain01 = new GalaxyApp().CreatGridView(string.Format(InvariantCulture, "gvMain01{0}", KeyVal.Key), "gltable", dtNextData, true, false); #region Set Columns of DataGrid gvSumNextData if (gvMain01.Columns.Count == 0) { for (int i = 0; i < dtNextData.Columns.Count; i++) { BoundField bfCell = new BoundField() { DataField = dtNextData.Columns[i].ColumnName, HeaderText = new CglFunc().ConvertFieldNameId(dtNextData.Columns[i].ColumnName, 1), SortExpression = dtNextData.Columns[i].ColumnName }; string strColumnName = dtNextData.Columns[i].ColumnName; #region Css if ((strColumnName.Substring(0, 4) != "lngL" && strColumnName.Substring(0, 4) != "lngM") || strColumnName == "lngMethodSN") { bfCell.ItemStyle.CssClass = strColumnName; } #endregion #region Show the number of lngL,lngS,lngM with 2 digital if (strColumnName.Substring(0, 4) == "lngL" || strColumnName.Substring(0, 4) == "lngS" || strColumnName.Substring(0, 4) == "lngM") { bfCell.DataFormatString = "{0:d2}"; } #endregion gvMain01.Columns.Add(bfCell); } } #endregion gvMain01.RowDataBound += GvMissAll_RowDataBound; gvMain01.DataBind(); #endregion GridView pnlSumNext.Controls.Add(gvMain01); #endregion Sum NextData part intView++; } #endregion Loop #region Update the controls #endregion Update the controls #endregion Show the result; #endregion }
private void ShowResult(StuGLSearch stuGLSearch) { lblTitle.Text = Page.Title; // 當期資料 GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", new CglFunc().CDicTOTable(new CglData().GetCurrentDataDics(stuGLSearch)), true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); #region Initialize InitialArray(); #endregion Initialize #region dicTablePercent if (ViewState["dicTablePercent"] == null) { ViewState.Add("dicTablePercent", new CglTablePercent().GetTP(stuGLSearch, strHtmlDirectory, strFnTPxml)); } Dictionary <string, object> dicTablePercent = (Dictionary <string, object>)ViewState["dicTablePercent"]; #endregion #region Show the result #region Setup the Css of numbers DicNumcssclass = new Dictionary <string, string>(); foreach (var KeyPair in DicCurrentNums) { if (KeyPair.Value > 0) { DicNumcssclass.Add(KeyPair.Value.ToString(InvariantCulture), KeyPair.Key); } } #endregion Setup the Css of numbers #region Loop foreach (var KeyVal in dicTablePercent) { //string strTitle = string.Empty; string strButtonText = string.Empty; if (KeyVal.Key == "dicTotal") { #region SetButtons HyperLink hlButton = new HyperLink() { ID = string.Format(InvariantCulture, "hl{0}", KeyVal.Key), CssClass = "glbutton glbutton-lightblue ", Text = "全域", NavigateUrl = string.Format(InvariantCulture, "#pnl{0}", KeyVal.Key) }; pnlButtons.Controls.Add(hlButton); #endregion SetButtons #region Set panel Frequency Result Dictionary <string, object> dicTotal = (Dictionary <string, object>)KeyVal.Value; DataSet dsdicTotal = (DataSet)dicTotal["dsdicTotal"];; Panel pnldicTotal = new Panel() { ID = string.Format(InvariantCulture, "pnl{0}", KeyVal.Key), CssClass = "max-width" }; foreach (DataTable dtdicTotal in dsdicTotal.Tables) { #region Set table tblEach Table tblEach = new Table() { CssClass = "gltable", Caption = dtdicTotal.TableName }; #region Set Columns of table dgFreqResult TableHeaderRow thrHeader = new TableHeaderRow(); TableRow trRow = new TableRow(); foreach (DataColumn dcColumn in dtdicTotal.Columns) { TableHeaderCell thcColumnFreq = new TableHeaderCell { Text = string.Format(InvariantCulture, "{0:00}", int.Parse(dcColumn.ColumnName, InvariantCulture)), }; if (DicNumcssclass.ContainsKey(dcColumn.ColumnName)) { thcColumnFreq.CssClass = DicNumcssclass[dcColumn.ColumnName]; } thrHeader.Controls.Add(thcColumnFreq); TableCell tcCell = new TableCell() { Text = string.Format(InvariantCulture, "{0}", dtdicTotal.Rows[0][dcColumn.ColumnName].ToString()), }; trRow.Controls.Add(tcCell); } #endregion tblEach.Controls.Add(thrHeader); tblEach.Controls.Add(trRow); #endregion pnldicTotal.Controls.Add(tblEach); } #endregion Set panel Frequency Result pnlDetail.Controls.Add(pnldicTotal); } else { Dictionary <string, object> dicEachCompare = (Dictionary <string, object>)KeyVal.Value; int DataRows = int.Parse(dicEachCompare["DataRows"].ToString(), InvariantCulture); DataSet dsFreq = (DataSet)dicEachCompare["dsFreq"]; DataSet dsHot = (DataSet)dicEachCompare["dsHot"]; #region SetButtons #region Set Button text List <string> lstCompare = KeyVal.Key.Split('#').ToList(); List <string> lstButtonText = new List <string>(); foreach (string strCompareOption in lstCompare) { lstButtonText.Add(new CglFunc().ConvertFieldNameId(strCompareOption, 1)); } strButtonText = string.Join(",", lstButtonText.ToArray()); #endregion Set Button text HyperLink btButton = new HyperLink() { ID = string.Format(InvariantCulture, "hl{0}", KeyVal.Key), CssClass = "glbutton ", Text = strButtonText, NavigateUrl = string.Format(InvariantCulture, "#pnl{0}", KeyVal.Key) }; if (DataRows >= intDataRowsLimit) { btButton.CssClass += "glbutton-lightblue "; blDataTableCount = true; } else { btButton.CssClass += "glbutton-grey "; blDataTableCount = false; } if (KeyVal.Key == "strDayTwentyEight#strHourTwentyEight") { blDataTableCount = false; } ; pnlButtons.Controls.Add(btButton); #endregion SetButtons #region Set Each Compare Panel Panel pnlEachCompare = new Panel() { ID = string.Format(InvariantCulture, "pnl{0}", KeyVal.Key), CssClass = "max-width" }; pnlEachCompare.Controls.Add(new Label() { Text = string.Format(InvariantCulture, "相同 ({0}) ({1:00}期)", strButtonText, DataRows), CssClass = "gllabel" }); #region Hot Part Table tblHotOutline = new Table() { CssClass = "max-width", Width = 20, }; TableRow trRowOutline = new TableRow(); foreach (DataTable dtHot in dsHot.Tables) { TableCell tcOutline = new TableCell() { VerticalAlign = VerticalAlign.Top, }; dtHot.DefaultView.Sort = "[S0115] DESC , [S0105] DESC , [Miss] ASC, [Nums] ASC "; GridView gvHot = new GridView() { ID = string.Format(InvariantCulture, "{0}gvHot", KeyVal.Key), ShowHeaderWhenEmpty = true, AutoGenerateColumns = false, AllowSorting = true, EnableViewState = false, ViewStateMode = ViewStateMode.Disabled, CssClass = "gltable ", GridLines = GridLines.Horizontal, DataSource = dtHot.DefaultView, Caption = dtHot.TableName }; if (gvHot.Columns.Count == 0) { for (int i = 0; i < dtHot.Columns.Count; i++) { BoundField bfCell = new BoundField() { DataField = dtHot.Columns[i].ColumnName, HeaderText = new CglFunc().ConvertFieldNameId(dtHot.Columns[i].ColumnName, 1), ReadOnly = true, }; gvHot.Columns.Add(bfCell); } } gvHot.RowDataBound += GvHot_RowDataBound;; gvHot.DataBind(); tcOutline.Controls.Add(gvHot); trRowOutline.Controls.Add(tcOutline); } tblHotOutline.Controls.Add(trRowOutline); pnlEachCompare.Controls.Add(tblHotOutline); #endregion Hot Part #region Freq Part foreach (DataTable dtFreq in dsFreq.Tables) { if (dtFreq.TableName != "DataAll" && dtFreq.TableName != "MissAll") { #region Set table tblEach Table tblEach = new Table() { CssClass = "gltable", Caption = dtFreq.TableName }; #region Set Columns of table dgFreqResult TableHeaderRow thrHeader = new TableHeaderRow(); TableRow trRow = new TableRow(); foreach (DataColumn dcColumn in dtFreq.Columns) { if (dcColumn.ColumnName != "intRows") { TableHeaderCell thcColumnFreq = new TableHeaderCell { Text = string.Format(InvariantCulture, "{0:00}", int.Parse(dcColumn.ColumnName.Substring(4), InvariantCulture)), }; if (DicNumcssclass.ContainsKey(int.Parse(dcColumn.ColumnName.Substring(4), InvariantCulture).ToString(InvariantCulture))) { thcColumnFreq.CssClass = DicNumcssclass[int.Parse(dcColumn.ColumnName.Substring(4), InvariantCulture).ToString(InvariantCulture)]; } thrHeader.Controls.Add(thcColumnFreq); TableCell tcCell = new TableCell() { Text = string.Format(InvariantCulture, "{0}", dtFreq.Rows[0][dcColumn.ColumnName].ToString()), }; trRow.Controls.Add(tcCell); } } #endregion tblEach.Controls.Add(thrHeader); tblEach.Controls.Add(trRow); #endregion pnlEachCompare.Controls.Add(tblEach); } } #endregion Freq Part #endregion Set Each Compare Panel pnlDetail.Controls.Add(pnlEachCompare); } } #endregion Loop #endregion Show the result }
private void ShowResult(StuGLSearch stuGLSearch) { lblTitle.Text = Page.Title; // 當期資料 GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", new CglFunc().CDicTOTable(new CglData().GetCurrentDataDics(stuGLSearch)), true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); #region Initialize InitialArray(); #endregion Initialize #region Setup the Css of numbers dicNumcssclass = new Dictionary <string, string>(); foreach (var KeyPair in dicCurrentNums) { if (KeyPair.Value > 0) { dicNumcssclass.Add(KeyPair.Value.ToString(InvariantCulture), KeyPair.Key); } } #endregion Setup the Css of numbers #region dicTablePercent if (ViewState["dicTablePercent"] == null) { ViewState.Add("dicTablePercent", new CglTablePercent().GetTP(stuGLSearch, StrXmlDirectory, StrFnTPxml)); //Update10(stuSearch00); } Dictionary <string, object> dicTablePercent = (Dictionary <string, object>)ViewState["dicTablePercent"]; #endregion #region Data Part #region dtTpHit DataTable dtTpHit = new CglTablePercent().GetTablePercentHit(stuGLSearch, dicTablePercent); dtTpHit.TableName = string.Format(InvariantCulture, "dtTpHit_{0}", stuGLSearch.InDataRowsLimit); if (dtTpHit.Columns.Contains("TpHit02ID")) { dtTpHit.Columns.Remove("TpHit02ID"); } if (dtTpHit.Columns.Contains("TpHit01ID")) { dtTpHit.Columns.Remove("TpHit01ID"); } if (dtTpHit.Columns.Contains("lngTotalSN")) { dtTpHit.Columns.Remove("lngTotalSN"); } if (dtTpHit.Columns.Contains("intDataRowsLimit")) { dtTpHit.Columns.Remove("intDataRowsLimit"); } dtTpHit.DefaultView.Sort = "[srtCheck] DESC , [dblHitRate] ASC , [intTotal] DESC , [intHit] ASC"; #endregion dtTpHit #region dtDHigh0125 DataTable dtDHigh0125 = new CglTablePercent().GetDHigh0125(stuGLSearch, dicTablePercent); dtDHigh0125.TableName = string.Format(InvariantCulture, "dtDHigh0125_{0}_{1}", stuGLSearch.InDataRowsLimit, stuGLSearch.InCriticalNum); #endregion dtDHigh0125 #region dtTpHit10 DataTable dtTpHit10 = new CglTablePercent().GetTablePercentHit10(stuGLSearch, StrXmlDirectory, strFnTPHit10xml); dtTpHit10.TableName = string.Format(InvariantCulture, "TpHit10_{0}", stuGLSearch.InDataRowsLimit); dtTpHit10.DefaultView.Sort = "[srtCheck] DESC "; #endregion dtTpHit10 #region dtdicDelNum Dictionary <string, string> dicDelNum_All = new CglTablePercent().GetTPDelNum(stuGLSearch, dtTpHit, lstDelete, lstNotDelete); Dictionary <string, int> dicDelNum = ConvertToDicDelNum(dicDelNum_All); dicDelNum = dicDelNum.OrderByDescending(x => x.Value).ToDictionary(x => x.Key, x => x.Value); DataTable dtdicDelNum = new CglFunc().CDicTOTable(dicDelNum, null); dtdicDelNum.TableName = string.Format(CultureInfo.InvariantCulture, "DelNum_{0}", stuGLSearch.InDataRowsLimit); #endregion dtdicDelNum #region dtdicDelNum_Hit DicDelNum_Hit = ConvertToDicDelNum_Hit(stuGLSearch, dicDelNum_All); DicDelNum_Hit = DicDelNum_Hit.OrderBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value); DataTable dtdicDelNum_Hit = new CglFunc().CDicTOTable(DicDelNum_Hit, null); dtdicDelNum_Hit.TableName = string.Format(CultureInfo.InvariantCulture, "DelNum_Hit{0}", stuGLSearch.InDataRowsLimit); #endregion dtdicDelNum_Hit #endregion Data Part #region Show the result StringBuilder sbDelete = new StringBuilder(); sbDelete.AppendLine(string.Format(InvariantCulture, "DataRowsLimit : {0} ", stuGLSearch.InDataRowsLimit)); sbDelete.AppendLine(string.Format(InvariantCulture, "Delete : {0} ", string.Join(",", lstDelete.ToArray()))); sbDelete.AppendLine(string.Format(InvariantCulture, "NotDelete : {0} ", string.Join(",", lstNotDelete.ToArray()))); pnlDetail.Controls.Add(new GalaxyApp().CreatLabel("lblDelete", sbDelete.ToString(), "")); #region dtdicDelNum Panel pnlDelNum = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "pnl{0}", "DelNum"), "max-width"); pnlDetail.Controls.Add(pnlDelNum); #region SetButtons HyperLink hlDelNum = new GalaxyApp().CreatHyperLink("hlDelNum", "glbutton glbutton-lightblue ", "統計", new Uri(string.Format(InvariantCulture, "#{0}", pnlDelNum.ID))); pnlButtons.Controls.Add(hlDelNum); #endregion SetButtons #region Set table tblDelNum Table tblDelNum = new GalaxyApp().CreatTable("gltable", dtdicDelNum.TableName); #region Set Columns of table tblHitCount TableHeaderRow thrHeader_DelNum = new TableHeaderRow(); TableRow trRow_DelNum = new TableRow(); foreach (DataColumn dcColumn in dtdicDelNum.Columns) { TableHeaderCell thcColumnFreq = new TableHeaderCell { Text = string.Format(InvariantCulture, "{0:00}", int.Parse(dcColumn.ColumnName, InvariantCulture)) }; if (dicNumcssclass.ContainsKey(dcColumn.ColumnName)) { thcColumnFreq.CssClass = dicNumcssclass[dcColumn.ColumnName]; } thrHeader_DelNum.Controls.Add(thcColumnFreq); using TableCell tcCell = new TableCell { Text = string.Format(InvariantCulture, "{0}", dtdicDelNum.Rows[0][dcColumn.ColumnName].ToString()) }; trRow_DelNum.Controls.Add(tcCell); } tblDelNum.Controls.Add(thrHeader_DelNum); tblDelNum.Controls.Add(trRow_DelNum); #endregion #endregion pnlDelNum.Controls.Add(tblDelNum); #endregion dtdicDelNum #region dtdicDelNum_Hit #region Set panel pnlDelNum_Hit Panel pnlDelNum_Hit = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "pnl{0}", "DelNum_Hit"), "max-width"); pnlDetail.Controls.Add(pnlDelNum_Hit); #endregion Set panel pnlHitCount GridView gvDelNum_Hit = new GalaxyApp().CreatGridView(dtdicDelNum_Hit.TableName, "gltable ", dtdicDelNum_Hit, true, false); gvDelNum_Hit.ShowHeaderWhenEmpty = true; gvDelNum_Hit.AllowSorting = true; gvDelNum_Hit.Caption = dtdicDelNum_Hit.TableName; if (gvDelNum_Hit.Columns.Count == 0) { for (int i = 0; i < dtdicDelNum_Hit.Columns.Count; i++) { BoundField bfCell = new BoundField() { DataField = dtdicDelNum_Hit.Columns[i].ColumnName, HeaderText = dtdicDelNum_Hit.Columns[i].ColumnName, ReadOnly = true, }; gvDelNum_Hit.Columns.Add(bfCell); } } gvDelNum_Hit.DataBind(); pnlDelNum_Hit.Controls.Add(gvDelNum_Hit); #endregion dtdicDelNum_Hit #region dtDHigh0125 #region SetButtons //HyperLink hlDHigh0125 = new HyperLink() //{ // ID = "hlDelNum", // CssClass = "glbutton glbutton-lightblue ", // Text = "統計", // NavigateUrl = string.Format(InvariantCulture, "#pnl{0}", "DHigh0125") //}; pnlButtons.Controls.Add(hlDelNum); #endregion SetButtons #region Set panel pnlDelNum //Panel pnlDHigh0125 = new Panel() { ID = string.Format(InvariantCulture, "pnl{0}", "DHigh0125"), CssClass = "max-width" }; pnlDetail.Controls.Add(pnlDelNum); #endregion Set panel pnlHitCount #region Set table tblDelNum Table tblDHigh0125 = new GalaxyApp().CreatTable("gltable", string.Format(InvariantCulture, "{0}({1})", dtDHigh0125.TableName, dtDHigh0125.Columns.Count)); #region Set Columns of table tblHitCount using (TableHeaderRow thrHeader_DHigh0125 = new TableHeaderRow()) { using TableRow trRow_DHigh0125 = new TableRow(); foreach (DataColumn dcColumn in dtDHigh0125.Columns) { using (TableHeaderCell thcColumnFreq = new TableHeaderCell()) { thcColumnFreq.Text = string.Format(InvariantCulture, "{0:00}", int.Parse(dcColumn.ColumnName, InvariantCulture)); thrHeader_DHigh0125.Controls.Add(thcColumnFreq); if (dicNumcssclass.ContainsKey(int.Parse(dcColumn.ColumnName, InvariantCulture).ToString(InvariantCulture))) { thcColumnFreq.CssClass = dicNumcssclass[int.Parse(dcColumn.ColumnName, InvariantCulture).ToString(InvariantCulture)]; } } using TableCell tcCell = new TableCell { Text = string.Format(InvariantCulture, "{0}", dtDHigh0125.Rows[0][dcColumn.ColumnName].ToString()) }; trRow_DHigh0125.Controls.Add(tcCell); } #endregion tblDHigh0125.Controls.Add(thrHeader_DHigh0125); tblDHigh0125.Controls.Add(trRow_DHigh0125); } #endregion pnlDelNum.Controls.Add(tblDHigh0125); #endregion dtdicDelNum #region dtTpHit Panel pnlTpHit = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "pnl{0}", "TpHit"), "max-width"); pnlDetail.Controls.Add(pnlTpHit); #region SetButtons HyperLink hlTpHit = new GalaxyApp().CreatHyperLink("hlTpHit", "glbutton glbutton-lightblue ", "TpHit", new Uri(string.Format(InvariantCulture, "#{0}", pnlTpHit.ID))); pnlButtons.Controls.Add(hlTpHit); #endregion SetButtons #region gvdtTpHit GridView gvdtTpHit = new GalaxyApp().CreatGridView(dtTpHit.TableName, "gltable ", dtTpHit, true, false); gvdtTpHit.AllowSorting = true; gvdtTpHit.Caption = string.Format(InvariantCulture, "{0}({1})", dtTpHit.TableName, dtTpHit.Rows.Count); gvdtTpHit.ShowHeaderWhenEmpty = true; if (gvdtTpHit.Columns.Count == 0) { for (int i = 0; i < dtTpHit.Columns.Count; i++) { BoundField bfCell = new BoundField() { DataField = dtTpHit.Columns[i].ColumnName, HeaderText = dtTpHit.Columns[i].ColumnName, ReadOnly = true, }; if (i > 3) { bfCell.HeaderText = string.Format(InvariantCulture, "{0:00}", int.Parse(dtTpHit.Columns[i].ColumnName.Substring(4), InvariantCulture)); if (dicNumcssclass.ContainsKey(int.Parse(dtTpHit.Columns[i].ColumnName.Substring(4), InvariantCulture).ToString(InvariantCulture))) { bfCell.HeaderStyle.CssClass = dicNumcssclass[int.Parse(dtTpHit.Columns[i].ColumnName.Substring(4), InvariantCulture).ToString(InvariantCulture)]; bfCell.ItemStyle.CssClass = dicNumcssclass[int.Parse(dtTpHit.Columns[i].ColumnName.Substring(4), InvariantCulture).ToString(InvariantCulture)]; } } gvdtTpHit.Columns.Add(bfCell); } } gvdtTpHit.RowDataBound += GvdtTpHit_RowDataBound; gvdtTpHit.DataBind(); pnlTpHit.Controls.Add(gvdtTpHit); #endregion gvdtTpHit #endregion dtTpHit #region dtTpHit10 Panel pnlTpHit10 = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "pnl{0}", "TpHit10"), "max-width"); pnlDetail.Controls.Add(pnlTpHit10); #region SetButtons HyperLink hlTpHit10 = new GalaxyApp().CreatHyperLink("hlTpHit10", "glbutton glbutton-lightblue ", "TpHit10", new Uri(string.Format(InvariantCulture, "#{0}", pnlTpHit10.ID))); pnlButtons.Controls.Add(hlTpHit10); #endregion SetButtons #region gvTpHit10 GridView gvTpHit10 = new GalaxyApp().CreatGridView(dtTpHit10.TableName, "gltable ", dtTpHit10, true, false); gvTpHit10.AllowSorting = true; gvTpHit10.Caption = string.Format(InvariantCulture, "{0}({1})", dtTpHit10.TableName, dtTpHit10.Rows.Count); gvTpHit10.ShowHeaderWhenEmpty = true; if (gvTpHit10.Columns.Count == 0) { for (int i = 0; i < dtTpHit10.Columns.Count; i++) { BoundField bfCell = new BoundField() { DataField = dtTpHit10.Columns[i].ColumnName, HeaderText = dtTpHit10.Columns[i].Caption, ReadOnly = true, }; if (i > 0) { if (bfCell.HeaderText.Contains("T")) { bfCell.HeaderStyle.CssClass = "row_lightyellow"; bfCell.ItemStyle.CssClass = "row_lightyellow"; } } gvTpHit10.Columns.Add(bfCell); } } gvTpHit10.RowDataBound += GvTpHit10_RowDataBound;; gvTpHit10.DataBind(); pnlTpHit10.Controls.Add(gvTpHit10); #endregion gvTpHit10 #endregion dtTpHit10 #endregion Show the result }
private void ShowResult() { CglDataSet DataSet00 = new CglDataSet(_gstuSearch.LottoType); // 當期資料 GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", new CglFunc().CDicTOTable(new CglData().GetCurrentDataDics(_gstuSearch)), true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); #region 測試號碼 Label lblTestNum = new GalaxyApp().CreatLabel("lblTestNum", string.Format(InvariantCulture, "測試號碼({0})支 : {1} ", _gstuSearch.StrSmartTests.Split(',').ToList().Count, _gstuSearch.StrSmartTests), "gllabel"); pnlDetail.Controls.Add(lblTestNum); #endregion #region 設定處理動作 List <string> lstAction = new List <string>(); Dictionary <string, ChoseAndHit> dicChoseAndHit = new Dictionary <string, ChoseAndHit> { { "C2H2", ChoseAndHit.Chose2Hit2 }, { "C3H3", ChoseAndHit.Chose3Hit3 }, { "C4H3", ChoseAndHit.Chose4Hit3 }, { "C5H4", ChoseAndHit.Chose5Hit4 }, { "C5H3", ChoseAndHit.Chose5Hit3 }, }; switch (_gstuSearch.LottoType) { case TargetTable.Lotto539: lstAction = new List <string> { "all", "C2H2", "C3H3", "C4H3", "C5H4", "C5H3" }; break; case TargetTable.LottoBig: lstAction = new List <string> { "all" }; break; case TargetTable.LottoSix: lstAction = new List <string> { "all" }; break; case TargetTable.LottoDafu: lstAction = new List <string> { "all" }; break; } ; #endregion //int intView = 0; foreach (string straction in lstAction) { List <string> lstSmartTest; Panel pnlAction = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "pnl{0}", straction), "max-width"); pnlDetail.Controls.Add(pnlAction); if (straction == "all") { #region Button HyperLink btButton = new GalaxyApp().CreatHyperLink(string.Format(InvariantCulture, "hl{0}", straction), "glbutton glbutton-grey ", string.Format(InvariantCulture, "{0}", straction), new Uri(string.Format(InvariantCulture, "#pnl{0}", straction))); pnlButtons.Controls.Add(btButton); #endregion Button lstSmartTest = new CglFunc().Combination(_gstuSearch.StrSmartTests.Split(','), DataSet00.CountNumber).TrimEnd(';').Split(';').ToList(); Label lblAction = new GalaxyApp().CreatLabel("lblAction", string.Format(InvariantCulture, "[{0}] 支數:{1} ", straction, lstSmartTest.Count), "gllabel"); pnlAction.Controls.Add(lblAction); lblAction = new GalaxyApp().CreatLabel("lblAction", string.Format(InvariantCulture, " 投資金額:{0:N0} ", lstSmartTest.Count * DataSet00.DblRCos), "gllabel"); pnlAction.Controls.Add(lblAction); } else { lstSmartTest = (List <string>)GetSmartSet(_gstuSearch, _gstuSearch.StrSmartTests, dicChoseAndHit[straction]); if (ViewState[straction] == null) { ViewState.Add(straction, GetHitTable(_gstuSearch, lstSmartTest)); } #region Button HyperLink btButton = new GalaxyApp().CreatHyperLink(string.Format(InvariantCulture, "hl{0}", straction), "glbutton glbutton-grey ", string.Format(InvariantCulture, "{0}", straction), new Uri(string.Format(InvariantCulture, "#pnl{0}", straction))); pnlButtons.Controls.Add(btButton); #endregion Button DataTable dtSmartTest = (DataTable)ViewState[straction]; dtSmartTest.TableName = straction; Label lblAction = new GalaxyApp().CreatLabel("lblAction", string.Format(InvariantCulture, "[{0}] 支數:{1} ", straction, lstSmartTest.Count), "gllabel"); pnlAction.Controls.Add(lblAction); lblAction = new GalaxyApp().CreatLabel("lblAction01", string.Format(InvariantCulture, " 投資金額:{0:N0} ", lstSmartTest.Count * DataSet00.DblRCos), "gllabel"); pnlAction.Controls.Add(lblAction); double dblsum; if (lstSmartTest.Count > 0) { dblsum = double.Parse(dtSmartTest.Compute("SUM([HitMoney])", string.Empty).ToString(), InvariantCulture); } else { dblsum = 0; } lblAction = new GalaxyApp().CreatLabel("lblAction02", string.Format(InvariantCulture, " 中獎金額:{0:N0} ", dblsum), "gllabel"); pnlAction.Controls.Add(lblAction); GridView gvTable = new GalaxyApp().CreatGridView(string.Format(InvariantCulture, "gv{0}", straction), "gltable table-hover", dtSmartTest, true, false); gvTable.AllowSorting = true; dtSmartTest.DefaultView.Sort = "[HitMoney] DESC"; gvTable.DataBind(); pnlAction.Controls.Add(gvTable); } } }
private void ShowResult(StuGLSearch stuGLSearch) { lblTitle.Text = Page.Title; lblMethod.Text = new CglMethod().SetMethodString(stuGLSearch); lblSearchMethod.Text = new CglMethod().SetSearchMethodString(stuGLSearch); // 當期資料 GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", dtCurrentData, true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); #region Show the result #region Loop foreach (var dicEachResult in _dicFreqActive) { #region lstFirstNums,lstSeachLimitNums List <int> lstFirstNums = (List <int>) new GalaxyApp().GetLstNumbers(stuGLSearch, dicEachResult.Value, 2); List <int> lstSeachLimitNums = (List <int>) new GalaxyApp().GetLstNumbers(stuGLSearch, dicEachResult.Value, stuGLSearch.InSearchLimit + 1); #endregion lstFirstNums,lstSeachLimitNums DataTable dtFreqResult = dicEachResult.Value.Copy(); dtFreqResult.Columns.Remove("lngTotalSN"); #region Set Chart #region pnlChartActive using Panel pnlChartActive = new Panel { ID = string.Format(InvariantCulture, "pnlActive{0}", dicEachResult.Key), CssClass = "max-width" }; pnlDetail.Controls.Add(pnlChartActive); #endregion pnlChartActive DataTable dtCurve = dicEachResult.Value.Copy(); dtCurve.DefaultView.Sort = "[lngDateSN] ASC"; int intLNums = int.Parse(ddlNums.SelectedValue, InvariantCulture); //for (int intLNums = 1; intLNums <= new CglDataSet(stuGLSearch.LottoType).LottoNumbers; intLNums++) //{ #region Max,Min,Avg int intCurrent = int.Parse(dtFreqResult.Rows[0][string.Format(InvariantCulture, "lngN{0}", intLNums)].ToString(), InvariantCulture); DataTable dataTable = stuGLSearch.InSearchLimit > 0 ? dtFreqResult.Rows.Cast <DataRow>().Take(stuGLSearch.InSearchLimit).CopyToDataTable() : dtFreqResult; double dblSumS = double.Parse(dataTable.Compute(string.Format(InvariantCulture, "SUM([lngN{0}])", intLNums), string.Empty).ToString(), InvariantCulture); double dblAvgS = Math.Round(dblSumS / (double)stuGLSearch.InSearchLimit, 2); int intMaxS = int.Parse(dataTable.Compute(string.Format(InvariantCulture, "MAX([lngN{0}])", intLNums), string.Empty).ToString(), InvariantCulture); int intMinS = int.Parse(dataTable.Compute(string.Format(InvariantCulture, "MIN([lngN{0}])", intLNums), string.Empty).ToString(), InvariantCulture); double dblSumT = double.Parse(dtFreqResult.Compute(string.Format(InvariantCulture, "SUM([lngN{0}])", intLNums), string.Empty).ToString(), InvariantCulture); double dblAvgT = Math.Round(dblSumT / (double)dtFreqResult.Rows.Count, 2); int intMaxT = int.Parse(dtFreqResult.Compute(string.Format(InvariantCulture, "MAX([lngN{0}])", intLNums), string.Empty).ToString(), InvariantCulture); int intMinT = int.Parse(dtFreqResult.Compute(string.Format(InvariantCulture, "MIN([lngN{0}])", intLNums), string.Empty).ToString(), InvariantCulture); #endregion Max,Min,Avg #region Chart chActive Chart chActive = new GalaxyApp().CreatChart(string.Format(InvariantCulture, "chActive{0}{1:d2}", dicEachResult.Key, intLNums), stuGLSearch.InDisplayPeriod * 20, 500); chActive.Titles.Add(new GalaxyApp().CreatTitle(string.Format(InvariantCulture, "sNum{0}{1:d2}", dicEachResult.Key, intLNums), string.Format(InvariantCulture, "{0:d02} (T:{1} C:{2}) \n (AvgS:{3} MaS:{4} MiS:{5}) \n (AvgS:{6} Ma:{7} Mi:{8})", intLNums, new CglFreq().GetTrend(stuGLSearch, dtFreqResult, intLNums), intCurrent, dblAvgS, intMaxS, intMinS, dblAvgT, intMaxT, intMinT), Docking.Top, (int.Parse(dtFreqResult.Rows[0][string.Format(InvariantCulture, "lngN{0}", intLNums)].ToString(), InvariantCulture) >= stuGLSearch.InCriticalNum) ? Color.Red : Color.Black, Color.White)); pnlChartActive.Controls.Add(chActive); #endregion #region ChartArea chaArea ChartArea chaArea = new GalaxyApp().CreatChartArea(string.Format(InvariantCulture, "chaArea{0}{1:d2}", dicEachResult.Key, intLNums), 0); chaArea.BackColor = _dicNumcssclass.ContainsKey(intLNums.ToString(InvariantCulture)) ? Color.FromArgb(50, 217, 161, 199) : Color.White; chaArea.AxisY.Maximum = intMaxT + 1; if (lstFirstNums.Contains(intLNums)) { chaArea.BorderColor = Color.Blue; chaArea.BorderWidth = 2; } if (lstSeachLimitNums.Contains(intLNums)) { chaArea.BorderColor = Color.Green; chaArea.BorderWidth = 2; } if (lstFirstNums.Contains(intLNums) && lstSeachLimitNums.Contains(intLNums)) { chaArea.BorderColor = Color.Red; chaArea.BorderWidth = 2; } #endregion chActive.ChartAreas.Add(chaArea); #region Set buttons //HyperLink hlNumG = CreatHyperLink(string.Format(InvariantCulture, "hlNumG{0}{1:d2}", dicEachResult.Key, intLNums), // "glbutton glbutton-lightblue ", // string.Format(InvariantCulture, "{0}::{1:d2}", dicEachResult.Key, intLNums), // string.Format(InvariantCulture, "#{0}", chActive.ID)); //pnlButtons.Controls.Add(hlNumG); #endregion Set buttons #region Series Series sirNum = new GalaxyApp().CreatSeries(string.Format(InvariantCulture, "sirNum{0}{1:d2}", dicEachResult.Key, intLNums), chaArea.Name); sirNum.IsValueShownAsLabel = true; sirNum.Color = Color.Red; sirNum.LegendText = string.Format(InvariantCulture, "{0}:lngN{1}", sirNum.Name, intLNums); sirNum.Points.DataBind(dtCurve.DefaultView, "", string.Format(InvariantCulture, "lngN{0}", intLNums), string.Format(InvariantCulture, "Tooltip = lngN{0}", intLNums)); #endregion Series chActive.Series.Add(sirNum); #region LineAnnotation HorizontalLineAnnotation hlaAvgS = new GalaxyApp().CreatHorizontalLineAnnotation(string.Format(InvariantCulture, "sirAvgS{0}{1:d2}", dicEachResult.Key, intLNums), chaArea); hlaAvgS.LineColor = Color.Blue; hlaAvgS.ToolTip = intMaxT.ToString(InvariantCulture); hlaAvgS.AnchorY = intMaxT; hlaAvgS.LineDashStyle = ChartDashStyle.DashDot; chActive.Annotations.Add(hlaAvgS); using HorizontalLineAnnotation hlaAvgT = new GalaxyApp().CreatHorizontalLineAnnotation(string.Format(InvariantCulture, "sirAvgT{0}{1:d2}", dicEachResult.Key, intLNums), chaArea); hlaAvgT.LineColor = Color.Purple; hlaAvgT.ToolTip = intMinT.ToString(InvariantCulture); hlaAvgT.AnchorY = intMinT; hlaAvgT.LineDashStyle = ChartDashStyle.DashDot; chActive.Annotations.Add(hlaAvgT); using VerticalLineAnnotation vlaSearchLimit = new GalaxyApp().CreatVerticalLineAnnotation(string.Format(InvariantCulture, "sirSL{0}{1:d2}", dicEachResult.Key, intLNums), chaArea); vlaSearchLimit.LineColor = Color.Green; vlaSearchLimit.ToolTip = vlaSearchLimit.AnchorX.ToString(InvariantCulture); vlaSearchLimit.AnchorX = (dtCurve.Rows.Count - stuGLSearch.InSearchLimit + 1) > 0 ? dtCurve.Rows.Count - stuGLSearch.InSearchLimit + 1 : 0; chActive.Annotations.Add(vlaSearchLimit); #endregion //} #endregion Set Chart } #endregion Loop #endregion }
private void ShowResult(StuGLSearch stuGLSearch) { lblTitle.Text = Page.Title; // 當期資料 GridView gvCurrentData = new GalaxyApp().CreatGridView("gvCurrentData", "gltable ", new CglFunc().CDicTOTable(new CglData().GetCurrentDataDics(stuGLSearch)), true, true); gvCurrentData.DataBind(); pnlCurrentData.Controls.Add(gvCurrentData); #region dicTablePercent if (ViewState["dicTablePercent"] == null) { strHtmlDirectory = System.IO.Path.Combine(Server.MapPath("~"), "xml"); strFnTPxml = string.Format(InvariantCulture, "{0}{1}.xml", "TP", string.Format(InvariantCulture, "{0}{1}", _gstuSearch.LottoType.ToString(), new CglData().GetCurrentDataDics(_gstuSearch)["lngDateSN"])); ViewState.Add("dicTablePercent", new CglTablePercent().GetTP(stuGLSearch, strHtmlDirectory, strFnTPxml)); } Dictionary <string, object> dicTablePercent = (Dictionary <string, object>)ViewState["dicTablePercent"]; #endregion #region Show the result //dtTrend using DataTable dtTrend = new DataTable("dtTrend") { Locale = InvariantCulture }; #region Columns DataColumn[] ColumnKey = new DataColumn[1]; dtTrend.Columns.Add(new DataColumn { ColumnName = "strCompares", DataType = typeof(string) }); ColumnKey[0] = dtTrend.Columns["strCompares"]; dtTrend.PrimaryKey = ColumnKey; for (int i = 1; i <= new CglDataSet(stuGLSearch.LottoType).LottoNumbers; i++) { dtTrend.Columns.Add(new DataColumn { ColumnName = string.Format(InvariantCulture, "lngN{0}", i), DataType = typeof(double), DefaultValue = 0 }); } #endregion Columns #region Creat each trend Table #region Button HyperLink btButtonTrend = new GalaxyApp().CreatHyperLink(string.Format(InvariantCulture, "hl{0}", "btButtonTrend"), "glbutton glbutton-lightblue ", "趨勢", new Uri(string.Format(InvariantCulture, "#pnl{0}", "Trend"))); pnlButtons.Controls.Add(btButtonTrend); #endregion Button #region Panel Panel pnlTrend = new Panel() { ID = string.Format(InvariantCulture, "pnl{0}", "Trend"), CssClass = "max-width" }; pnlDetail.Controls.Add(pnlTrend); #endregion Panel #endregion Creat each trend Table #region Loop foreach (var KeyVal in dicTablePercent) { //string strTitle = string.Empty; string strButtonText = string.Empty; if ((KeyVal.Key != "dicTotal") && (KeyVal.Key != "strDayTwentyEight#strHourTwentyEight")) { int DataRows = int.Parse(((Dictionary <string, object>)KeyVal.Value)["DataRows"].ToString(), InvariantCulture); if (DataRows >= stuGLSearch.InDataRowsLimit) { #region Open FreqActive Pages if (stuGLSearch.ShowProcess == ShowProcess.Visible) { StuGLSearch stuSearchNew = stuGLSearch; stuSearchNew.StrCompares = KeyVal.Key; stuSearchNew.InTestPeriods = 1; OpenPageMuti(stuSearchNew, Properties.Resources.SessionsFreqActiveChart, Properties.Resources.PageFreqActiveChart, Properties.Resources.SessionsFreqActiveChart, LocalIP, LocalBrowserType); } #endregion Open FreqActive Pages #region SetButtons #region Set Button text List <string> lstCompare = KeyVal.Key.Split('#').ToList(); List <string> lstButtonText = new List <string>(); foreach (string strCompareOption in lstCompare) { lstButtonText.Add(new CglFunc().ConvertFieldNameId(strCompareOption, 1)); } strButtonText = string.Join(",", lstButtonText.ToArray()); #endregion Set Button text HyperLink btButton = new GalaxyApp().CreatHyperLink(string.Format(InvariantCulture, "hl{0}", KeyVal.Key), "glbutton glbutton-lightblue ", strButtonText, new Uri(string.Format(InvariantCulture, "#pnl{0}", KeyVal.Key))); pnlButtons.Controls.Add(btButton); #endregion SetButtons #region Set Each Compare Panel Panel pnlEachCompare = new Panel() { ID = string.Format(InvariantCulture, "pnl{0}", KeyVal.Key), CssClass = "max-width" }; pnlEachCompare.Controls.Add(new Label() { Text = string.Format(InvariantCulture, "相同 ({0}) ({1:00}期)", strButtonText, DataRows), CssClass = "gllabel" }); #region Set Compare StuGLSearch stuSearchTemp = stuGLSearch; stuSearchTemp.StrCompares = KeyVal.Key; Dictionary <string, DataTable> dicActive = new CglFreq().GetFreqActiveDic(stuSearchTemp); #endregion Set Compare #region Freq Part foreach (var dtFreqActive in dicActive) { #region Set panel Frequency Result //pnlFreq.Controls.Add(new Label() { Text = string.Format(InvariantCulture, "{0} Freq", dicFreqResult.Key) }); Panel pnlFreq = new Panel() { ID = string.Format(InvariantCulture, "pnl{0}", KeyVal.Key), CssClass = "max-width" }; pnlFreq.Controls.Add(new Label() { ID = string.Format(InvariantCulture, "{0}FreqActive", KeyVal.Key), CssClass = "gllabel", Text = string.Format(InvariantCulture, "顯示期數 {0}", dtFreqActive.Value.Rows.Count) }); //DataTable dtProResult = new CGLFunc().CTableShow(dicProcessResultT[dicFreqResult.Key]); DataTable dtFreqResult = dtFreqActive.Value; dtFreqResult.Columns.Remove("lngTotalSN"); dtFreqResult.Columns.Remove("lngFreqSN"); //dtProcessResult.DefaultView.Sort = "[lngTotalSN] DESC "; GridView gvFreqActive = new GridView() { ID = string.Format(InvariantCulture, "{0}gvFreqActive", KeyVal.Key), AutoGenerateColumns = false, AllowSorting = true, EnableViewState = false, ViewStateMode = ViewStateMode.Disabled, CssClass = "gltable", GridLines = GridLines.Horizontal, DataSource = dtFreqResult.DefaultView }; #region Set Columns of DataGrid gvProcess if (gvFreqActive.Columns.Count == 0) { for (int i = 0; i < dtFreqResult.Columns.Count; i++) { string strColumnName = dtFreqResult.Columns[i].ColumnName; BoundField bfCell = new BoundField() { DataField = strColumnName, HeaderText = new CglFunc().ConvertFieldNameId(strColumnName, 1), //SortExpression = strColumnName }; if (strColumnName.Substring(0, 4) == "lngN") { if (dicNumcssclass.Keys.Contains(strColumnName.Substring(4))) { bfCell.HeaderStyle.CssClass = dicNumcssclass[strColumnName.Substring(4)]; } if (int.Parse(strColumnName.Substring(4), InvariantCulture) % 5 == 0) { bfCell.ItemStyle.CssClass = "glColNum5"; } } gvFreqActive.Columns.Add(bfCell); } } #endregion Set Columns of DataGrid gvProcess gvFreqActive.RowDataBound += GvProcess_RowDataBound; gvFreqActive.DataBind(); pnlFreq.Controls.Add(gvFreqActive); #endregion Set panel Frequency Result pnlEachCompare.Controls.Add(pnlFreq); #region dtTrend DataRow drTrend = dtTrend.NewRow(); drTrend["strCompares"] = strButtonText; for (int i = 1; i <= new CglDataSet(stuGLSearch.LottoType).LottoNumbers; i++) { drTrend[string.Format(InvariantCulture, "lngN{0}", i)] = new CglFreq().GetTrend(stuSearchTemp, dtFreqActive.Value, i); } #endregion dtTrend dtTrend.Rows.Add(drTrend); } #endregion Freq Part #endregion Set Each Compare Panel pnlDetail.Controls.Add(pnlEachCompare); } } } #endregion Loop #region Sum of dtTrend DataRow drTrendSum = dtTrend.NewRow(); drTrendSum["strCompares"] = "SUM"; for (int i = 1; i <= new CglDataSet(stuGLSearch.LottoType).LottoNumbers; i++) { drTrendSum[string.Format(InvariantCulture, "lngN{0}", i)] = Math.Round((double)dtTrend.Compute(string.Format(InvariantCulture, "SUM([lngN{0}])", i), string.Empty), 2); } dtTrend.Rows.Add(drTrendSum); #endregion Sum of dtTrend GridView gvTrend = new GridView() { ID = string.Format(InvariantCulture, "gvTrend"), AutoGenerateColumns = false, AllowSorting = true, EnableViewState = false, ViewStateMode = ViewStateMode.Disabled, CssClass = "gltable", GridLines = GridLines.Horizontal, DataSource = dtTrend.DefaultView }; #region Set Columns of DataGrid gvProcess if (gvTrend.Columns.Count == 0) { for (int i = 0; i < dtTrend.Columns.Count; i++) { string strColumnName = dtTrend.Columns[i].ColumnName; BoundField bfCell = new BoundField() { DataField = strColumnName, HeaderText = new CglFunc().ConvertFieldNameId(strColumnName, 1), DataFormatString = "{0:F2}", //SortExpression = strColumnName }; if (strColumnName.Substring(0, 4) == "lngN") { if (dicNumcssclass.Keys.Contains(strColumnName.Substring(4))) { bfCell.HeaderStyle.CssClass = dicNumcssclass[strColumnName.Substring(4)]; } if (int.Parse(strColumnName.Substring(4), InvariantCulture) % 5 == 0) { bfCell.ItemStyle.CssClass = "glColNum5"; } } gvTrend.Columns.Add(bfCell); } } #endregion gvTrend.DataBind(); pnlTrend.Controls.Add(gvTrend); #endregion Show the result }
private void ShowResult(StuGLSearch stuGLSearch) { //Img05.Visible = false; Img10.Visible = false; Img25.Visible = false; Img50.Visible = false; Img100.Visible = false; ImgLast.Visible = false; pnlDetail.Controls.Clear(); stuGLSearch.InDisplayPeriod = stuGLSearch.InDisplayPeriod == 0 ? int.Parse(Properties.Resources.defaultDisplayPeriodValue, InvariantCulture) : stuGLSearch.InDisplayPeriod; int intLNums = int.Parse(ddlNums.SelectedValue, InvariantCulture); #region pnlChartActive Panel pnlChartActive = new GalaxyApp().CreatPanel(string.Format(InvariantCulture, "pnlActive{0:d2}", intLNums), "max-width"); pnlDetail.Controls.Add(pnlChartActive); #endregion pnlChartActive #region Chart chActive Chart chActive = new GalaxyApp().CreatChart(string.Format(InvariantCulture, "chActive{0:d2}", intLNums), intDisplay * 20, 800); chActive.Titles.Add(new GalaxyApp().CreatTitle(string.Format(InvariantCulture, "sNum{0:d2}", intLNums), string.Format(InvariantCulture, "{0:d02} ", intLNums), Docking.Top, Color.Yellow, Color.Black)); pnlChartActive.Controls.Add(chActive); #endregion #region ChartArea chaArea ChartArea chaArea = new GalaxyApp().CreatChartArea(string.Format(InvariantCulture, "chaArea{0:d2}", intLNums), 0); chaArea.BackColor = priDicNumcssclass.ContainsKey(intLNums.ToString(InvariantCulture)) ? Color.FromArgb(50, 217, 161, 199) : Color.White; chaArea.AxisY.Minimum = -1; chActive.ChartAreas.Add(chaArea); #endregion CreatLegent(chActive, chaArea, "series", Docking.Bottom, false, StringAlignment.Center, Color.LightYellow, 1, Color.Orange, 11); #region Loop foreach (KeyValuePair <string, object> dicSecEachResult in priDicSecFreqActive) { priDicFreqActive = (Dictionary <string, DataTable>)dicSecEachResult.Value; stuGLSearch.InSearchLimit = dicSecEachResult.Key == "m" ? 0 : int.Parse(dicSecEachResult.Key, InvariantCulture); #region lstFirstNums,lstSeachLimitNums List <int> lstFirstNums = new GalaxyApp().GetLstNumbers(stuGLSearch, priDicFreqActive["gen"], 2); List <int> lstSeachLimitNums = new GalaxyApp().GetLstNumbers(stuGLSearch, priDicFreqActive["gen"], stuGLSearch.InSearchLimit + 1); switch (dicSecEachResult.Key) { case "5": ph05.Visible = lstSeachLimitNums.Contains(intLNums); phLast.Visible = lstFirstNums.Contains(intLNums); break; case "10": ph10.Visible = lstSeachLimitNums.Contains(intLNums); phLast.Visible = lstFirstNums.Contains(intLNums); break; case "25": ph25.Visible = lstSeachLimitNums.Contains(intLNums); phLast.Visible = lstFirstNums.Contains(intLNums); break; case "50": ph50.Visible = lstSeachLimitNums.Contains(intLNums); phLast.Visible = lstFirstNums.Contains(intLNums); break; case "100": ph100.Visible = lstSeachLimitNums.Contains(intLNums); phLast.Visible = lstFirstNums.Contains(intLNums); break; } #endregion lstFirstNums,lstSeachLimitNums string lngF = dicSecEachResult.Key == "m" ? "lngM" : "lngN"; using DataTable dtFreqResult = priDicFreqActive["gen"].Select(string.Empty, "[lngTotalSN] ASC").Take(priDicFreqActive["gen"].Rows.Count - 1).CopyToDataTable(); double dblSumT = double.Parse(dtFreqResult.Compute(string.Format(InvariantCulture, "SUM([{0}{1}])", lngF, intLNums), string.Empty).ToString(), InvariantCulture); double dblAvgT = Math.Round(dblSumT / (double)dtFreqResult.Rows.Count, 2); int intMaxT = int.Parse(dtFreqResult.Compute(string.Format(InvariantCulture, "MAX([{0}{1}])", lngF, intLNums), string.Empty).ToString(), InvariantCulture); int intMinT = int.Parse(dtFreqResult.Compute(string.Format(InvariantCulture, "MIN([{0}{1}])", lngF, intLNums), string.Empty).ToString(), InvariantCulture); //dtFreqResult.Columns.Remove("lngTotalSN"); #region Max,Min,Avg int intCurrent = int.Parse(dtFreqResult.Rows[0][string.Format(InvariantCulture, "{0}{1}", lngF, intLNums)].ToString(), InvariantCulture); using (DataTable dataTable = stuGLSearch.InSearchLimit > 0 ? dtFreqResult.Rows.Cast <DataRow>().Take(stuGLSearch.InDisplayPeriod).CopyToDataTable() : dtFreqResult) { double dblSumS = double.Parse(dataTable.Compute(string.Format(InvariantCulture, "SUM([{0}{1}])", lngF, intLNums), string.Empty).ToString(), InvariantCulture); double dblAvgS = Math.Round(dblSumS / (double)stuGLSearch.InSearchLimit, 2); int intMaxS = int.Parse(dataTable.Compute(string.Format(InvariantCulture, "MAX([{0}{1}])", lngF, intLNums), string.Empty).ToString(), InvariantCulture); int intMinS = int.Parse(dataTable.Compute(string.Format(InvariantCulture, "MIN([{0}{1}])", lngF, intLNums), string.Empty).ToString(), InvariantCulture); } #endregion Max,Min,Avg using DataTable dtCurve = priDicFreqActive["gen"].Select("", "lngTotalSN DESC").Take <DataRow>(intDisplay).CopyToDataTable(); dtCurve.DefaultView.Sort = "[lngDateSN] ASC"; bool display = true; display = dicSecEachResult.Key switch { "5" => chk05.Checked, "10" => chk10.Checked, "25" => chk25.Checked, "50" => chk50.Checked, "100" => chk100.Checked, "m" => chkm.Checked, _ => true, }; if (display) { #region Series Series sirNum = new GalaxyApp().CreatSeries(string.Format(InvariantCulture, "sirNum{0}{1:d2}", dicSecEachResult.Key, intLNums), chaArea.Name); sirNum.IsValueShownAsLabel = true; sirNum.ChartType = SeriesChartType.Line; sirNum.Color = PriDicSectionColor[dicSecEachResult.Key]; sirNum.LegendText = string.Format(InvariantCulture, " {0}區, 大:[{1}], 小[{2}], 號[{3}] ", dicSecEachResult.Key, intMaxT, intMinT, string.Join(",", lstSeachLimitNums)); sirNum.Legend = "series"; sirNum.Points.DataBind(dtCurve.DefaultView, "", string.Format(InvariantCulture, "{0}{1}", lngF, intLNums), string.Format(InvariantCulture, "Tooltip = {0}{1}", lngF, intLNums)); chActive.Series.Add(sirNum); #endregion Series #region LineAnnotation HorizontalLineAnnotation hlaMax = new GalaxyApp().CreatHorizontalLineAnnotation(string.Format(InvariantCulture, "sirhlaMax{0}{1:d2}", dicSecEachResult.Key, intLNums), chaArea); hlaMax.LineColor = PriDicSectionColor[dicSecEachResult.Key]; hlaMax.ToolTip = intMaxT.ToString(InvariantCulture); hlaMax.AnchorY = intMaxT; hlaMax.LineDashStyle = ChartDashStyle.Dot; chActive.Annotations.Add(hlaMax); HorizontalLineAnnotation hlaMin = new GalaxyApp().CreatHorizontalLineAnnotation(string.Format(InvariantCulture, "sirhlaMin{0}{1:d2}", dicSecEachResult.Key, intLNums), chaArea); hlaMin.LineColor = PriDicSectionColor[dicSecEachResult.Key]; hlaMin.ToolTip = intMinT.ToString(InvariantCulture); hlaMin.AnchorY = intMinT; hlaMin.LineDashStyle = ChartDashStyle.Dot; chActive.Annotations.Add(hlaMin); VerticalLineAnnotation vlaSearchLimit = new GalaxyApp().CreatVerticalLineAnnotation(string.Format(InvariantCulture, "sirSL{0}{1:d2}", dicSecEachResult.Key, intLNums), chaArea); vlaSearchLimit.LineColor = PriDicSectionColor[dicSecEachResult.Key]; hlaMin.LineDashStyle = ChartDashStyle.Dash; vlaSearchLimit.ToolTip = vlaSearchLimit.AnchorX.ToString(InvariantCulture); vlaSearchLimit.AnchorX = (dtCurve.Rows.Count - stuGLSearch.InSearchLimit + 1) > 0 ? dtCurve.Rows.Count - stuGLSearch.InSearchLimit + 1 : 0; chActive.Annotations.Add(vlaSearchLimit); #endregion } } #endregion Loop }