public static DataTable GetDescendantDataByService(String parentCode, MacroDataType type) { DataTable table = new DataTable(); try { String str = String.Join(",", MongoDBConstant.TreeColumnFileds[type]); DataSet dataFromIndicatorServer = GetDataFromIndicatorServer(MongoDBConstant.DictTreeCmd[type], new object[] { parentCode, str }); if (dataFromIndicatorServer == null) { return(table); } if (dataFromIndicatorServer.Tables.Count == 0) { return(table); } if (dataFromIndicatorServer.Tables[0].Rows.Count == 0) { return(table); } table = dataFromIndicatorServer.Tables[0].Copy(); } catch (Exception exception) { //EMLoggerHelper.Write(exception); } return(table); }
/// <summary> /// 下拉列表选中改变事件 /// </summary> /// <param name="sender">调用者</param> private void SelectedIndexChanged(object sender) { String text = m_cbMacIndustry.SelectedText; MacroDataType type = (MacroDataType)Enum.Parse(typeof(MacroDataType), text); LoadType(type); }
/// <summary> /// 获取宏观数据 /// </summary> /// <param name="code"></param> /// <param name="macIndustyType"></param> /// <returns></returns> public static DataTable GetMacIndustyData(String code, String macIndustyType) { MacroDataType type = (MacroDataType)Enum.Parse(typeof(MacroDataType), macIndustyType); String[] ids = new String[] { code }; DataSet ds = MongoRetriver.GetMutiIndicatorValuesFromService(ids, type); DataTable dt = ds.Tables[0]; return(dt); }
public static void GetMutiIndicatorValuesFromService(String[] macroIDList, MacroDataType treeType, DealWithReturnData ActionAfterGetValueData) { try { String str = String.Join(",", macroIDList); String formatCommond = MongoDBConstant.DicCommand[treeType]; DataSet dataFromIndicatorServer = GetDataFromIndicatorServer(formatCommond, new object[] { str, DataCenter.UserID }); ActionAfterGetValueData(dataFromIndicatorServer); } catch (Exception exception) { //EMLoggerHelper.Write(exception); ActionAfterGetValueData(null); } }
public static DataTable GetListData(String[] macroIDs, MacroDataType type) { DataTable table = new DataTable(); DataTransmission item = null; List <DataTransmission> dtList = null; try { item = new DataTransmission(); item.Filters = new List <Expression>(2); item.Filters.Add(Expression.In("STR_MACROID", macroIDs)); item.Filters.Add(Expression.Eq("STR_FLAG", "0")); item.DataSource = MongoDBConstant.DicTreeSource[type]; item.MaxResult = 0x7fffffff; item.Fields = new String[] { "STR_MACROID", "STR_STARTDATE", "STR_ENDDATE", "STR_GXDATE" }; dtList = new List <DataTransmission>(1); dtList.Add(item); table = _uniqueQuery.Query(dtList).Tables[0]; } catch (Exception exception) { //EMLoggerHelper.Write(exception); } finally { if (item != null) { if ((item.Fields != null) && (item.Fields.Length > 0)) { Array.Clear(item.Fields, 0, item.Fields.Length); item.Fields = null; } item.Clear(); item = null; } if (dtList != null) { dtList.Clear(); dtList = null; } } return(table); }
/// <summary> /// 加载指标 /// </summary> /// <param name="type">类型</param> private void LoadType(MacroDataType type) { m_tvMacIndustry.ClearNodes(); m_tvMacIndustry.Update(); DataTable treeData = LocalDataRetriver.GetTreeCategoryTableFromFile(type); DataView dv = treeData.DefaultView; dv.Sort = "STR_MACROCODE ASC"; Dictionary <String, TreeNodeA> nodesMap = new Dictionary <String, TreeNodeA>(); foreach (DataRowView dRow in dv) { DataRow row = dRow.Row; String code = row[0].ToString(); String parentCode = row[1].ToString(); String name = row[2].ToString(); if (nodesMap.ContainsKey(parentCode)) { TreeNodeA treeNode = new TreeNodeA(); treeNode.Name = code; treeNode.Style = new GridCellStyle(); treeNode.Style.ForeColor = COLOR.ARGB(255, 255, 255); treeNode.Style.Font = new FONT("微软雅黑", 14, true, false, false); treeNode.Text = name; nodesMap[parentCode].AppendNode(treeNode); nodesMap[code] = treeNode; } else { TreeNodeA treeNode = new TreeNodeA(); treeNode.Name = code; treeNode.Text = name; treeNode.Style = new GridCellStyle(); treeNode.Style.ForeColor = COLOR.ARGB(255, 255, 255); treeNode.Style.Font = new FONT("微软雅黑", 14, true, false, false); m_tvMacIndustry.AppendNode(treeNode); nodesMap[code] = treeNode; } } m_tvMacIndustry.Update(); m_tvMacIndustry.Invalidate(); }
public static DataTable GetTreeCategoryTableFromFile(MacroDataType treeType) { DataTable table = null; try { String str = MongoDBConstant.DicTreeSource[treeType]; String path = Path.Combine(LocalStorageRootDir, str); if (!File.Exists(path)) { //EMLoggerHelper.Write("File name '{0}' have not been found(path:'{1}')!", new object[] { str, path }); return(null); } table = JSONHelper.DeserializeObject <DataSet>(File.ReadAllText(path)).Tables[0]; } catch (Exception exception) { //EMLoggerHelper.Write(exception); } return(table); }
public static bool ShowFunctionExportButton(MacroDataType type) { return(MacroDataType.Rate != type); }
public static DataSet GetExcelMutiIndicatorValuesFromService(String[] macroIDList, MacroDataType treeType) { DataSet dataFromIndicatorServer = new DataSet(); try { String str = String.Join(",", macroIDList); new Stopwatch(); String formatCommond = "$-edb\r\n$indicateupdate(name={0})\r\n"; dataFromIndicatorServer = GetDataFromIndicatorServer(formatCommond, new object[] { str, DataCenter.UserID }); } catch (Exception exception) { MessageBox.Show(String.Format("{0}{1}{2}", exception.Message, Environment.NewLine, exception.StackTrace)); } return(dataFromIndicatorServer); }
/// <summary> /// 单元格双击事件 /// </summary> /// <param name="sender">调用者</param> /// <param name="cell">单元格</param> /// <param name="mp">坐标</param> /// <param name="button">按钮</param> /// <param name="clicks">点击次数</param> /// <param name="delta">滚轮值</param> private void GridCellClick(object sender, GridCell cell, POINT mp, MouseButtonsA button, int clicks, int delta) { TreeNodeA tn = cell as TreeNodeA; if (tn.m_nodes.Count == 0) { if (tn.Tag == null) { try { MacroDataType type = (MacroDataType)Enum.Parse(typeof(MacroDataType), m_cbMacIndustry.Text); DataTable dt = MongoRetriver.GetDescendantDataByService(tn.Name, type); foreach (DataRow row in dt.Rows) { if (row[0].ToString().Length > 0 && row[3].ToString().Length > 0) { TreeNodeA node = new TreeNodeA(); node.Tag = "2"; node.Style = new GridCellStyle(); node.Style.ForeColor = COLOR.ARGB(255, 255, 80); node.Style.Font = new FONT("微软雅黑", 14, true, false, false); node.Text = row["STR_MACRONAME"].ToString(); node.Name = row[0].ToString(); tn.AppendNode(node); } } tn.Tag = "1"; m_tvMacIndustry.Update(); } catch (Exception ex) { } } else if (tn.Tag.ToString() == "2") { m_gridMacIndustry.ClearRows(); m_fundCurve.Clear(); FundCurveData data = new FundCurveData(); XAxisPointData xdata = new XAxisPointData(); Dictionary <String, YAxisCurveData> yDatas = new Dictionary <String, YAxisCurveData>(); YAxisStyle ySyle = new YAxisStyle(); YAxisStyle ySyle1 = new YAxisStyle(); YAxisStyle ySyle2 = new YAxisStyle(); XAxisStyle xStyle = new XAxisStyle(); xStyle.XAxisType = XAxisType.Date; data.ChartTitle = "每日进展"; xStyle.XAxisTitle = "时间"; data.BackgroundColor = Color.Black; DataTable dt = GetMacIndustyData(tn.Name, m_cbMacIndustry.Text); YAxisCurveData yData = new YAxisCurveData(); yData.YPointValues = new List <double>(); yData.LineWidth = 3; yData.Text = xdata.Text; yData.ShowCycle = true; data.LstYAxisPointDatas.Add(yData); foreach (DataRow dr in dt.Rows) { if (dr[0].ToString().Length > 0 && dr[1].ToString().Length > 0) { GridRow row = new GridRow(); m_gridMacIndustry.AddRow(row); DateTime date = Convert.ToDateTime(dr[0]); row.AddCell("colN1", new GridStringCell(date.ToString("yyyy-MM-dd"))); row.AddCell("colN2", new GridStringCell(dr[1].ToString())); row.GetCell("colN1").Style = new GridCellStyle(); row.GetCell("colN1").Style.ForeColor = COLOR.ARGB(255, 255, 80); row.GetCell("colN1").Style.Font = new FONT("微软雅黑", 14, true, false, false); row.GetCell("colN2").Style = new GridCellStyle(); row.GetCell("colN2").Style.ForeColor = COLOR.ARGB(255, 80, 80); row.GetCell("colN2").Style.Font = new FONT("微软雅黑", 14, true, false, false); } } int rowsSize = dt.Rows.Count; for (int i = rowsSize - 1; i >= 0; i--) { DataRow dr = dt.Rows[i]; if (dr[0].ToString().Length > 0 && dr[1].ToString().Length > 0) { GridRow row = new GridRow(); m_gridMacIndustry.AddRow(row); DateTime date = Convert.ToDateTime(dr[0]); xdata.Value = date.Year * 10000 + date.Month * 100 + date.Day; xdata.Text = date.ToString("yyyyMMdd"); data.LstXAxisPointDatas.Add(xdata); yData.YPointValues.Add(CStr.ConvertStrToDouble(dr[1].ToString())); } } data.XAxisStyle = xStyle; ySyle.YAxisTitleAlign = YAxisTitleAlign.Middle; ySyle1.YAxisTitleAlign = YAxisTitleAlign.Middle; ySyle2.YAxisTitleAlign = YAxisTitleAlign.Middle; xStyle.XAxisTitleAlign = XAxisTitleAlign.Center; data.LstYAxisStyle.Add(ySyle); data.LstYAxisStyle.Add(ySyle1); data.LstYAxisStyle.Add(ySyle2); m_fundCurve.FundCurveData = data; m_gridMacIndustry.Update(); m_gridMacIndustry.Invalidate(); } } }