public void PopulateDataInTable(TopTenShareholder shareholder) { SetShareholderInfo(shareholder.shareholderName); dataGridView_top10shareholderqueryresult.AllowUserToAddRows = true; foreach (ShareHoldingRecord record in shareholder.lstShareHoldingRecord) { dataGridView_top10shareholderqueryresult.Rows.Add( record.dateOfRecord, record.stockCode, record.stockName, record.financialReport.netAssetsPerShare, record.financialReport.netProfitRate, record.shareholderType, record.ranking, record.numberOfShares, record.percentageOfTotalTradableShares, record.statusChange, record.changeRate ); } dataGridView_top10shareholderqueryresult.AllowUserToAddRows = false; }
//// FUNCTIONS //// private void QueryAndDisplayTopTenShareholder(string name) { try { SQLiteDataReader reader = DatabaseHelper.QueryByShareholderName(name); if (reader.HasRows) { TopTenShareholder topTenShareholder = new TopTenShareholder(name); while (reader.Read()) { try { ShareHoldingRecord record = new ShareHoldingRecord() { dateOfRecord = DatabaseHelper.ColumnExists(reader, "dateOfRecord") ? reader["dateOfRecord"].ToString() : "", ranking = DatabaseHelper.ColumnExists(reader, "ranking") ? reader["ranking"].ToString() : "", stockCode = DatabaseHelper.ColumnExists(reader, "stockCode") ? reader["stockCode"].ToString() : "", stockName = DatabaseHelper.ColumnExists(reader, "stockName") ? reader["stockName"].ToString() : "", shareholderType = DatabaseHelper.ColumnExists(reader, "shareholderType") ? reader["shareholderType"].ToString() : "", shareType = DatabaseHelper.ColumnExists(reader, "shareType") ? reader["shareType"].ToString() : "", numberOfShares = DatabaseHelper.ColumnExists(reader, "numberOfShares") ? reader["numberOfShares"].ToString() : "", percentageOfTotalTradableShares = DatabaseHelper.ColumnExists(reader, "percentageOfTotalTradableShares") ? reader["percentageOfTotalTradableShares"].ToString() : "", statusChange = DatabaseHelper.ColumnExists(reader, "statusChange") ? reader["statusChange"].ToString() : "", changeRate = DatabaseHelper.ColumnExists(reader, "changeRate") ? reader["changeRate"].ToString() : "", financialReport = new FinancialReport() { stockCode = DatabaseHelper.ColumnExists(reader, "stockCode") ? reader["stockCode"].ToString() : "", dateOfRecord = DatabaseHelper.ColumnExists(reader, "dateOfRecord") ? reader["dateOfRecord"].ToString() : "", basicProfitPerShare = DatabaseHelper.ColumnExists(reader, "basicProfitPerShare") ? reader["basicProfitPerShare"].ToString() : "", netAssetsPerShare = DatabaseHelper.ColumnExists(reader, "netAssetsPerShare") ? reader["netAssetsPerShare"].ToString() : "", providentFundPerShare = DatabaseHelper.ColumnExists(reader, "providentFundPerShare") ? reader["providentFundPerShare"].ToString() : "", undistributedProfitPerShare = DatabaseHelper.ColumnExists(reader, "undistributedProfitPerShare") ? reader["undistributedProfitPerShare"].ToString() : "", cashFlowPerShare = DatabaseHelper.ColumnExists(reader, "cashFlowPerShare") ? reader["cashFlowPerShare"].ToString() : "", totalOperatingIncome = DatabaseHelper.ColumnExists(reader, "totalOperatingIncome") ? reader["totalOperatingIncome"].ToString() : "", grossProfit = DatabaseHelper.ColumnExists(reader, "grossProfit") ? reader["grossProfit"].ToString() : "", netProfitAttributable = DatabaseHelper.ColumnExists(reader, "netProfitAttributable") ? reader["netProfitAttributable"].ToString() : "", deductionOfNonNetProfit = DatabaseHelper.ColumnExists(reader, "deductionOfNonNetProfit") ? reader["deductionOfNonNetProfit"].ToString() : "", totalOperatingIncomeYearOnYearGrowth = DatabaseHelper.ColumnExists(reader, "totalOperatingIncomeYearOnYearGrowth") ? reader["totalOperatingIncomeYearOnYearGrowth"].ToString() : "", netProfitAttributableYearOnYearGrowth = DatabaseHelper.ColumnExists(reader, "netProfitAttributableYearOnYearGrowth") ? reader["netProfitAttributableYearOnYearGrowth"].ToString() : "", deductionOfNonNetProfitYearOnYearGrowth = DatabaseHelper.ColumnExists(reader, "deductionOfNonNetProfitYearOnYearGrowth") ? reader["deductionOfNonNetProfitYearOnYearGrowth"].ToString() : "", totalOperatingIncomeRingGrowth = DatabaseHelper.ColumnExists(reader, "totalOperatingIncomeRingGrowth") ? reader["totalOperatingIncomeRingGrowth"].ToString() : "", netProfitAttributableRingGrowth = DatabaseHelper.ColumnExists(reader, "netProfitAttributableRingGrowth") ? reader["netProfitAttributableRingGrowth"].ToString() : "", deductionOfNonNetProfitRingGrowth = DatabaseHelper.ColumnExists(reader, "deductionOfNonNetProfitRingGrowth") ? reader["deductionOfNonNetProfitRingGrowth"].ToString() : "", dilutedReturnOnEquity = DatabaseHelper.ColumnExists(reader, "dilutedReturnOnEquity") ? reader["dilutedReturnOnEquity"].ToString() : "", dilutedReturnOnTotalAssets = DatabaseHelper.ColumnExists(reader, "dilutedReturnOnTotalAssets") ? reader["dilutedReturnOnTotalAssets"].ToString() : "", grossMargin = DatabaseHelper.ColumnExists(reader, "grossMargin") ? reader["grossMargin"].ToString() : "", netProfitRate = DatabaseHelper.ColumnExists(reader, "netProfitRate") ? reader["netProfitRate"].ToString() : "" } }; topTenShareholder.lstShareHoldingRecord.Add(record); } catch (Exception ex) { SystemSetting.LogAndDisplayError(ex, "MainForm.cs, line 114"); } } if (topTenShareholder.lstShareHoldingRecord.Count > 0) { Views.UI_TopTenShareholder ui = new Views.UI_TopTenShareholder(); ui.PopulateDataInTable(topTenShareholder); int heightIntend = (topTenShareholder.lstShareHoldingRecord.Count + 2) * 23 + 38; ui.Height = heightIntend < ui.minimumHeight ? ui.minimumHeight : heightIntend; ui.Dock = DockStyle.Top; this.panel_main.Controls.Add(ui); } } else { MessageBox.Show("未找到记录值!"); } } catch (Exception ex1) { SystemSetting.LogAndDisplayError(ex1, "MainForm.cs, line 124"); } }