///<summary>恢复之前的当前对象相关显示</summary> void resetTopoBrowseSelecedView() { if (topoBrowseSelectedObject == null) { return; } topoBrowseSelectedObject.color = traceColor; //设置前一个当前对象色为跟踪色 foreach (var item in (topoBrowseSelectedObject.busiTopo as TopoData).relationObjs) //恢复可选对象为普通色 { PowerBasicObject obj = distnet.findObj(item.id); if (!topoTranceList.Contains(obj)) { obj.color = normalColor; } } }
///<summary> ///根据dbopkey取得的数据库描述定义,批量载入运行数据。 ///isRealRun参数:ture载入实时运行数据,false载入规划模拟运行数据 ///返回设置了运行数据的对象列表 ///</summary> public List <PowerBasicObject> batchLoadRunData(DistNet distnet, bool isRealRun) { DataLayer.DataProvider.curDataSourceName = dbdesc.datasourceName; List <PowerBasicObject> result = new List <PowerBasicObject>(); string sql = isRealRun ? this.rundataSelectAll : this.planningSelectAll; string sim = isRealRun ? this.rundataSimAll : this.planningSimAll; //若为模拟数据,需预填对象id KeyValuePair <DataLayer.EReadMode, DataTable> kvp; if (DataLayer.DataProvider.dataStatus == DataLayer.EDataStatus.模拟 && (simRunDataDataTable == null || simPlanningDataTable == null)) { DataTable dtids = DataLayer.DataProvider.getDataTableFromSQL(acntSelectAllID, false); if (dtids == null || dtids.Rows.Count == 0) { System.Windows.MessageBox.Show("模拟对象序列来源于台账页面的acntSelectAllID语句,但查询为空导致模拟失败,请检查!"); } List <string> ids = dtids.AsEnumerable().Select(p => p[0].ToString()).ToList(); kvp = DataLayer.DataProvider.getDataTable(null, sim, ids, DataLayer.EReadMode.模拟); } else { kvp = DataLayer.DataProvider.getDataTable(sql, sim, isRealRun ? this.simRunDataDataTable : this.simPlanningDataTable); } if (kvp.Key == DataLayer.EReadMode.模拟) { if (isRealRun) { this.simRunDataDataTable = kvp.Value; } else { this.simPlanningDataTable = kvp.Value; } } foreach (DataRow dr in kvp.Value.Rows) { string id; if (kvp.Key == DataLayer.EReadMode.数据库读取) { id = dr[(isRealRun ? rundataTableRelation : planningTableRelation).mainTable.keyFieldName].ToString(); } else { id = dr[0].ToString(); //模拟数据固定为第一字段为ID字段 } PowerBasicObject obj = distnet.findObj(id); if (obj != null) { loadRundata(dr, obj, kvp.Key, isRealRun); result.Add(obj); } } return(result); }