private void Insert(SRStaticData.SRStaticInfo srStaticInfo, string strText, int iIndex, SRStaticData.SRPointType srPointType, string strGPS, string strVG) { ListViewItemInfo listViewItemInfo = new ListViewItemInfo(); ListViewItem listViewItem = new ListViewItem(iIndex.ToString()); listViewItemInfo.Column = iIndex; ListViewItem.ListViewSubItem subListViewItem1 = new ListViewItem.ListViewSubItem(); switch (srPointType) { case SRStaticData.SRPointType.DCHP: subListViewItem1.Text = srStaticInfo.StockAverageHigh.ToString(); listViewItemInfo.Column1 = srStaticInfo.StockAverageHigh; break; case SRStaticData.SRPointType.DCLP: subListViewItem1.Text = srStaticInfo.StockAverageLow.ToString(); listViewItemInfo.Column1 = srStaticInfo.StockAverageLow; break; case SRStaticData.SRPointType.GULK: subListViewItem1.Text = srStaticInfo.StockAverageHigh.ToString(); listViewItemInfo.Column1 = srStaticInfo.StockAverageHigh; break; case SRStaticData.SRPointType.GUHK: subListViewItem1.Text = srStaticInfo.StockAverageLow.ToString(); listViewItemInfo.Column1 = srStaticInfo.StockAverageLow; break; case SRStaticData.SRPointType.GDLK: subListViewItem1.Text = srStaticInfo.StockAverageHigh.ToString(); listViewItemInfo.Column1 = srStaticInfo.StockAverageHigh; break; case SRStaticData.SRPointType.GDHK: subListViewItem1.Text = srStaticInfo.StockAverageLow.ToString(); listViewItemInfo.Column1 = srStaticInfo.StockAverageLow; break; default: subListViewItem1.Text = string.Empty; listViewItemInfo.Column1 = 0F; break; } float fEntity = 0; ListViewItem.ListViewSubItem subListViewItem2 = new ListViewItem.ListViewSubItem(); subListViewItem2.ForeColor = Color.Green; switch (srPointType) { case SRStaticData.SRPointType.DCHP: subListViewItem2.Text = srStaticInfo.StockData.StockHigh.ToString(); listViewItemInfo.Column2 = srStaticInfo.StockData.StockHigh; break; case SRStaticData.SRPointType.DCLP: fEntity = srStaticInfo.StockData.StockOpen > srStaticInfo.StockData.StockClose ? srStaticInfo.StockData.StockClose : srStaticInfo.StockData.StockOpen; subListViewItem2.Text = fEntity.ToString(); listViewItemInfo.Column2 = fEntity; break; case SRStaticData.SRPointType.GULK: subListViewItem2.Text = srStaticInfo.StockData.StockHigh.ToString(); listViewItemInfo.Column2 = srStaticInfo.StockData.StockHigh; break; case SRStaticData.SRPointType.GUHK: fEntity = srStaticInfo.StockData.StockOpen > srStaticInfo.StockData.StockClose ? srStaticInfo.StockData.StockClose : srStaticInfo.StockData.StockOpen; subListViewItem2.Text = fEntity.ToString(); listViewItemInfo.Column2 = fEntity; break; case SRStaticData.SRPointType.GDLK: subListViewItem2.Text = srStaticInfo.StockData.StockHigh.ToString(); listViewItemInfo.Column2 = srStaticInfo.StockData.StockHigh; break; case SRStaticData.SRPointType.GDHK: fEntity = srStaticInfo.StockData.StockOpen > srStaticInfo.StockData.StockClose ? srStaticInfo.StockData.StockClose : srStaticInfo.StockData.StockOpen; subListViewItem2.Text = fEntity.ToString(); listViewItemInfo.Column2 = fEntity; break; default: subListViewItem2.Text = string.Empty; break; } ListViewItem.ListViewSubItem subListViewItem3 = new ListViewItem.ListViewSubItem(); subListViewItem3.ForeColor = Color.Red; switch (srPointType) { case SRStaticData.SRPointType.DCHP: fEntity = srStaticInfo.StockData.StockOpen > srStaticInfo.StockData.StockClose ? srStaticInfo.StockData.StockOpen : srStaticInfo.StockData.StockClose; subListViewItem3.Text = fEntity.ToString(); listViewItemInfo.Column3 = fEntity; break; case SRStaticData.SRPointType.DCLP: subListViewItem3.Text = srStaticInfo.StockData.StockLow.ToString(); listViewItemInfo.Column3 = srStaticInfo.StockData.StockLow; break; case SRStaticData.SRPointType.GULK: fEntity = srStaticInfo.StockData.StockOpen > srStaticInfo.StockData.StockClose ? srStaticInfo.StockData.StockOpen : srStaticInfo.StockData.StockClose; subListViewItem3.Text = fEntity.ToString(); listViewItemInfo.Column3 = fEntity; break; case SRStaticData.SRPointType.GUHK: subListViewItem3.Text = srStaticInfo.StockData.StockLow.ToString(); listViewItemInfo.Column3 = srStaticInfo.StockData.StockLow; break; case SRStaticData.SRPointType.GDLK: fEntity = srStaticInfo.StockData.StockOpen > srStaticInfo.StockData.StockClose ? srStaticInfo.StockData.StockOpen : srStaticInfo.StockData.StockClose; subListViewItem3.Text = fEntity.ToString(); listViewItemInfo.Column3 = fEntity; break; case SRStaticData.SRPointType.GDHK: subListViewItem3.Text = srStaticInfo.StockData.StockLow.ToString(); listViewItemInfo.Column3 = srStaticInfo.StockData.StockLow; break; default: subListViewItem3.Text = string.Empty; break; } ListViewItem.ListViewSubItem subListViewItem4 = new ListViewItem.ListViewSubItem(); subListViewItem4.Text = srStaticInfo.StockData.StockDate.ToShortDateString(); listViewItemInfo.Column4 = srStaticInfo.StockData.StockDate; ListViewItem.ListViewSubItem subListViewItem5 = new ListViewItem.ListViewSubItem(); subListViewItem5.Text = strText; listViewItemInfo.Column5 = strText; ListViewItem.ListViewSubItem subListViewItem6 = new ListViewItem.ListViewSubItem(); subListViewItem6.ForeColor = Color.Blue; switch (srPointType) { case SRStaticData.SRPointType.DCHP: subListViewItem6.Text = "LHKN(L)" + srStaticInfo.LeftKLineNumber.ToString(); listViewItemInfo.Column6 = subListViewItem6.Text; break; case SRStaticData.SRPointType.DCLP: subListViewItem6.Text = "HLKN(L)" + srStaticInfo.LeftKLineNumber.ToString(); listViewItemInfo.Column6 = subListViewItem6.Text; break; case SRStaticData.SRPointType.GULK: subListViewItem6.Text = "GPS↑ " + strGPS + "%"; listViewItemInfo.Column6 = subListViewItem6.Text; break; case SRStaticData.SRPointType.GUHK: subListViewItem6.Text = "GPS↑ " + srStaticInfo.GapPriceSpace.ToString() + "%"; listViewItemInfo.Column6 = subListViewItem6.Text; break; case SRStaticData.SRPointType.GDLK: subListViewItem6.Text = "GPS↓ " + srStaticInfo.GapPriceSpace.ToString() + "%"; listViewItemInfo.Column6 = subListViewItem6.Text; break; case SRStaticData.SRPointType.GDHK: subListViewItem6.Text = "GPS↓ " + strGPS + "%"; listViewItemInfo.Column6 = subListViewItem6.Text; break; default: subListViewItem6.Text = string.Empty; break; } ListViewItem.ListViewSubItem subListViewItem7 = new ListViewItem.ListViewSubItem(); subListViewItem7.ForeColor = Color.Blue; switch (srPointType) { case SRStaticData.SRPointType.DCHP: subListViewItem7.Text = "LHKN(R)" + srStaticInfo.RightLineNumber.ToString(); listViewItemInfo.Column7 = subListViewItem7.Text; break; case SRStaticData.SRPointType.DCLP: subListViewItem7.Text = "HLKN(R)" + srStaticInfo.RightLineNumber.ToString(); listViewItemInfo.Column7 = subListViewItem7.Text; break; case SRStaticData.SRPointType.GULK: subListViewItem7.Text = "VG " + strVG + "%"; listViewItemInfo.Column7 = subListViewItem7.Text; break; case SRStaticData.SRPointType.GUHK: strVG = srStaticInfo.GapVolumePercentum > 0 ? ("+" + srStaticInfo.GapVolumePercentum.ToString()) : srStaticInfo.GapVolumePercentum.ToString(); subListViewItem7.Text = "VG " + strVG + "%"; listViewItemInfo.Column7 = subListViewItem7.Text; break; case SRStaticData.SRPointType.GDLK: strVG = srStaticInfo.GapVolumePercentum > 0 ? ("+" + srStaticInfo.GapVolumePercentum.ToString()) : srStaticInfo.GapVolumePercentum.ToString(); subListViewItem7.Text = "VG " + strVG + "%"; listViewItemInfo.Column7 = subListViewItem7.Text; break; case SRStaticData.SRPointType.GDHK: subListViewItem7.Text = "VG " + strVG + "%"; listViewItemInfo.Column7 = subListViewItem7.Text; break; default: subListViewItem7.Text = string.Empty; break; } ListViewItem.ListViewSubItem subListViewItem8 = new ListViewItem.ListViewSubItem(); subListViewItem8.Text = (srStaticInfo.RelativelyPercent * 100).ToString() + "%"; listViewItemInfo.Column8 = srStaticInfo.RelativelyPercent * 100; ListViewItem.ListViewSubItem subListViewItem9 = new ListViewItem.ListViewSubItem(); subListViewItem9.Text = srStaticInfo.RelativelyNumber.ToString(); listViewItemInfo.Column9 = srStaticInfo.RelativelyNumber; listViewItem.SubItems.Add(subListViewItem1); listViewItem.SubItems.Add(subListViewItem2); listViewItem.SubItems.Add(subListViewItem3); listViewItem.SubItems.Add(subListViewItem4); listViewItem.SubItems.Add(subListViewItem5); listViewItem.SubItems.Add(subListViewItem6); listViewItem.SubItems.Add(subListViewItem7); listViewItem.SubItems.Add(subListViewItem8); listViewItem.SubItems.Add(subListViewItem9); this.ListView.Items.Add(listViewItem); m_ListViewItemInfo.Add(listViewItem, listViewItemInfo); }
public void InitSRReport(SRReport srReport) { m_ListViewItemInfo.Clear(); this.ListView.Items.Clear(); InsertMain(srReport.SRStaticData.LastStock, srReport.SRDynamicData.StaticSRCK_R, srReport.SRDynamicData.StaticSRCK_RV, srReport.SRDynamicData.StaticSRCK_S, srReport.SRDynamicData.StaticSRCK_SV, srReport.SRStaticData.LastStock.StockDate); int iIndex = 0; for (int iIndexA = 0; iIndexA < srReport.SRStaticData.srStaticInfoArray.Length; iIndexA++) { SRStaticData.SRStaticInfo item = srReport.SRStaticData.srStaticInfoArray[iIndexA]; iIndex++; if ((item.SRPointType & SRStaticData.SRPointType.DCHP) == SRStaticData.SRPointType.DCHP) { StringBuilder strText = new StringBuilder(); strText.Append("<DCHP>"); if ((item.SRPointType & SRStaticData.SRPointType.DCLP) == SRStaticData.SRPointType.DCLP) { strText.Append("|DCLP"); } if ((item.SRPointType & SRStaticData.SRPointType.GULK) == SRStaticData.SRPointType.GULK) { strText.Append("|GULK"); } if ((item.SRPointType & SRStaticData.SRPointType.GUHK) == SRStaticData.SRPointType.GUHK) { strText.Append("|GUHK"); } if ((item.SRPointType & SRStaticData.SRPointType.GDLK) == SRStaticData.SRPointType.GDLK) { strText.Append("|GDLK"); } if ((item.SRPointType & SRStaticData.SRPointType.GDHK) == SRStaticData.SRPointType.GDHK) { strText.Append("|GDHK"); } string strText2 = strText.ToString(); Insert(item, strText2 == "<DCHP>" ? "DCHP" : strText2, iIndex, SRStaticData.SRPointType.DCHP, string.Empty, string.Empty); } if ((item.SRPointType & SRStaticData.SRPointType.DCLP) == SRStaticData.SRPointType.DCLP) { StringBuilder strText = new StringBuilder(); if ((item.SRPointType & SRStaticData.SRPointType.DCHP) == SRStaticData.SRPointType.DCHP) { strText.Append("DCHP|"); } strText.Append("<DCLP>"); if ((item.SRPointType & SRStaticData.SRPointType.GULK) == SRStaticData.SRPointType.GULK) { strText.Append("|GULK"); } if ((item.SRPointType & SRStaticData.SRPointType.GUHK) == SRStaticData.SRPointType.GUHK) { strText.Append("|GUHK"); } if ((item.SRPointType & SRStaticData.SRPointType.GDLK) == SRStaticData.SRPointType.GDLK) { strText.Append("|GDLK"); } if ((item.SRPointType & SRStaticData.SRPointType.GDHK) == SRStaticData.SRPointType.GDHK) { strText.Append("|GDHK"); } string strText2 = strText.ToString(); Insert(item, strText2 == "<DCLP>" ? "DCLP" : strText2, iIndex, SRStaticData.SRPointType.DCLP, string.Empty, string.Empty); } if ((item.SRPointType & SRStaticData.SRPointType.GULK) == SRStaticData.SRPointType.GULK) { StringBuilder strText = new StringBuilder(); if ((item.SRPointType & SRStaticData.SRPointType.DCHP) == SRStaticData.SRPointType.DCHP) { strText.Append("DCHP|"); } if ((item.SRPointType & SRStaticData.SRPointType.DCLP) == SRStaticData.SRPointType.DCLP) { strText.Append("DCLP|"); } strText.Append("<GULK>"); if ((item.SRPointType & SRStaticData.SRPointType.GUHK) == SRStaticData.SRPointType.GUHK) { strText.Append("|GUHK"); } if ((item.SRPointType & SRStaticData.SRPointType.GDLK) == SRStaticData.SRPointType.GDLK) { strText.Append("|GDLK"); } if ((item.SRPointType & SRStaticData.SRPointType.GDHK) == SRStaticData.SRPointType.GDHK) { strText.Append("|GDHK"); } string strGPS = srReport.SRStaticData.srStaticInfoArray[iIndexA - 1].GapPriceSpace.ToString(); float fVG = srReport.SRStaticData.srStaticInfoArray[iIndexA - 1].GapVolumePercentum; string strVG = fVG > 0 ? ("+" + fVG.ToString()) : fVG.ToString(); string strText2 = strText.ToString(); Insert(item, strText2 == "<GULK>" ? "GULK" : strText2, iIndex, SRStaticData.SRPointType.GULK, strGPS, strVG); } if ((item.SRPointType & SRStaticData.SRPointType.GUHK) == SRStaticData.SRPointType.GUHK) { StringBuilder strText = new StringBuilder(); if ((item.SRPointType & SRStaticData.SRPointType.DCHP) == SRStaticData.SRPointType.DCHP) { strText.Append("DCHP|"); } if ((item.SRPointType & SRStaticData.SRPointType.DCLP) == SRStaticData.SRPointType.DCLP) { strText.Append("DCLP|"); } if ((item.SRPointType & SRStaticData.SRPointType.GULK) == SRStaticData.SRPointType.GULK) { strText.Append("GULK|"); } strText.Append("<GUHK>"); if ((item.SRPointType & SRStaticData.SRPointType.GDLK) == SRStaticData.SRPointType.GDLK) { strText.Append("|GDLK"); } if ((item.SRPointType & SRStaticData.SRPointType.GDHK) == SRStaticData.SRPointType.GDHK) { strText.Append("|GDHK"); } string strText2 = strText.ToString(); Insert(item, strText2 == "<GUHK>" ? "GUHK" : strText2, iIndex, SRStaticData.SRPointType.GUHK, string.Empty, string.Empty); } if ((item.SRPointType & SRStaticData.SRPointType.GDLK) == SRStaticData.SRPointType.GDLK) { StringBuilder strText = new StringBuilder(); if ((item.SRPointType & SRStaticData.SRPointType.DCHP) == SRStaticData.SRPointType.DCHP) { strText.Append("DCHP|"); } if ((item.SRPointType & SRStaticData.SRPointType.DCLP) == SRStaticData.SRPointType.DCLP) { strText.Append("DCLP|"); } if ((item.SRPointType & SRStaticData.SRPointType.GULK) == SRStaticData.SRPointType.GULK) { strText.Append("GULK|"); } if ((item.SRPointType & SRStaticData.SRPointType.GUHK) == SRStaticData.SRPointType.GUHK) { strText.Append("GUHK|"); } strText.Append("<GDLK>"); if ((item.SRPointType & SRStaticData.SRPointType.GDHK) == SRStaticData.SRPointType.GDHK) { strText.Append("|GDHK"); } string strText2 = strText.ToString(); Insert(item, strText2 == "<GDLK>" ? "GDLK" : strText2, iIndex, SRStaticData.SRPointType.GDLK, string.Empty, string.Empty); } if ((item.SRPointType & SRStaticData.SRPointType.GDHK) == SRStaticData.SRPointType.GDHK) { StringBuilder strText = new StringBuilder(); if ((item.SRPointType & SRStaticData.SRPointType.DCHP) == SRStaticData.SRPointType.DCHP) { strText.Append("DCHP|"); } if ((item.SRPointType & SRStaticData.SRPointType.DCLP) == SRStaticData.SRPointType.DCLP) { strText.Append("DCLP|"); } if ((item.SRPointType & SRStaticData.SRPointType.GULK) == SRStaticData.SRPointType.GULK) { strText.Append("GULK|"); } if ((item.SRPointType & SRStaticData.SRPointType.GUHK) == SRStaticData.SRPointType.GUHK) { strText.Append("GUHK|"); } if ((item.SRPointType & SRStaticData.SRPointType.GDLK) == SRStaticData.SRPointType.GDLK) { strText.Append("GDLK|"); } strText.Append("<GDHK>"); string strGPS = srReport.SRStaticData.srStaticInfoArray[iIndexA - 1].GapPriceSpace.ToString(); float fVG = srReport.SRStaticData.srStaticInfoArray[iIndexA - 1].GapVolumePercentum; string strVG = fVG > 0 ? ("+" + fVG.ToString()) : fVG.ToString(); string strText2 = strText.ToString(); Insert(item, strText2 == "<GDHK>" ? "GDHK" : strText2, iIndex, SRStaticData.SRPointType.GDHK, strGPS, strVG); } if (item.SRPointType == SRStaticData.SRPointType.None) { continue; } } this.LabelOpenInfo.Text = srReport.SRDynamicData.CurrentStock.StockOpen.ToString(); this.LabelCloseInfo.Text = srReport.SRDynamicData.CurrentStock.StockClose.ToString(); this.LabelHighInfo.Text = srReport.SRDynamicData.CurrentStock.StockHigh.ToString(); this.LabelLowInfo.Text = srReport.SRDynamicData.CurrentStock.StockLow.ToString(); this.LabelVolumeInfo.Text = srReport.SRDynamicData.CurrentStock.StockVolume.ToString(); switch (srReport.SRDynamicData.Trend) { case SRDynamicData.StockTrend.Up: this.LabelTrendInfo.Text = "↑"; break; case SRDynamicData.StockTrend.Down: this.LabelTrendInfo.Text = "↓"; break; default: this.LabelTrendInfo.Text = "↔"; break; } this.LabelPriceChangeInfo.Text = srReport.SRDynamicData.PriceFloat.ToString() + "%"; this.ListView.ListViewItemSorter = new ListViewItemComparer(1, m_ListViewItemInfo, bisturn); }