/// <summary> /// 选中下拉菜单中的数据连接数据库表,方案 /// </summary> /// <param name="BE"></param> public void SelectEditChange(FarPoint.Win.Spread.FpSpread fPobj,FarPoint.Win.Spread.SheetView SheetView, object obj, Itop.Client.Base.FormBase FB) { string strID = null; //strTitle = obj.EditValue.ToString(); strID=obj.ToString(); Ps_forecast_list pfl = null; projectID = FB.ProjectUID; string con1 = "ID='" + strID + "' and UserID='" + projectID + "'"; try { //查询下拉菜单所选中的数据 pfl = (Ps_forecast_list)Services.BaseService.GetObject("SelectPs_forecast_listByWhere", con1); programID = pfl.ID; SetLeftTitle(SheetView, 5, 0);//左侧标题 WriteData(SheetView, 5, 0);//数据 S4_3.WriteData(fPobj,fPobj.Sheets[4], 5, 0); PF.Sheet_GridandCenter(SheetView);//画边线,居中 S10_1.ColReadOnly(SheetView, SheetView.Columns.Count); PF.SetWholeRowHeight(SheetView, SheetView.Rows.Count, SheetView.Columns.Count);//行高 } catch (System.Exception e) { //MessageBox.Show(e.Message); } }
/// <summary> /// 按照起始和结束年份写入列标题 /// </summary> /// <param name="BeginYear"></param> /// <param name="EndYear"></param> public void SetColumnsTitle(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int BeginYear, int EndYear,string CurrentYear) { int intTemp = BeginYear; Redraw(FB, obj, BeginYear, EndYear, CurrentYear); WriteData(FB, obj, CurrentYear); }
/// <summary> /// 选中下拉菜单中的数据连接数据库表,方案 /// </summary> /// <param name="BE"></param> public void SelectEditChange(FarPoint.Win.Spread.FpSpread fPobj,FarPoint.Win.Spread.SheetView SheetView, object obj, Itop.Client.Base.FormBase FB) { //string strTitle = null; string strID = obj.ToString(); InitTitle(); //Ps_forecast_list pfl = null; projectID = FB.ProjectUID; //string con1 = "Title='" + strTitle + "' and UserID='" + projectID + "'"; try { //查询下拉菜单所选中的数据 //pfl = (Ps_forecast_list)Services.BaseService.GetObject("SelectPs_forecast_listByWhere", con1); //programID = pfl.ID; programID = strID; CityID = SelectID(strID, AreaType[0]);//市辖 CountyID = SelectID(strID, AreaType[1]);//县级 SelectDQ(CityID, AreaType[0]); SelectDQ(CountyID, AreaType[1]); SetLeftTitle(SheetView, 5, 0);//左侧标题 WriteData(fPobj,SheetView, 5, 0);//数据 PF.Sheet_GridandCenter(SheetView);//画边线,居中 S10_1.ColReadOnly(SheetView, SheetView.Columns.Count); PF.SetWholeRowHeight(SheetView, SheetView.Rows.Count, SheetView.Columns.Count);//行高 } catch (System.Exception e) { MessageBox.Show(e.Message); } }
/// <summary> /// 设置年分 /// </summary> ///<param name="FB">传入fromBase对象</param> /// <param name="obj">要传入SheetView对象</param> /// <param name="IntRow">行数</param> /// <param name="IntCol">列数</param> /// <param name="RowStep">要合并几个行的单元格</param> /// <param name="ColStep">要合并几个列的单元格</param> /// <param name="Title">标题</param> public void SetYears(string Title, Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol, int RowStep, int ColStep) { GlobalFormBase = FB; Ps_YearRange py = new Ps_YearRange(); py.Col4 = Title; py.Col5 = FB.ProjectUID; IList<Ps_YearRange> li = Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py); if (li.Count > 0) { GlobalFirstYear = li[0].StartYear; GlobalEndYear = li[0].FinishYear; } else { GlobalFirstYear = 2000; GlobalEndYear = 2009; py.BeginYear = 1990; py.FinishYear = GlobalEndYear; py.StartYear = GlobalFirstYear; py.EndYear = 2060; py.ID = Guid.NewGuid().ToString(); Services.BaseService.Create<Ps_YearRange>(py); } GolobalYearCount = GlobalEndYear - GlobalFirstYear + FixationCol + 1;//后面有两个固定列,加1是起始年的加入 SetYearsSheet2_1(FB, obj, GlobalFirstYear, GlobalEndYear, GolobalYearCount, IntRow, IntCol, RowStep, ColStep); }
/// <summary> /// 选中下拉菜单中的数据连接数据库表,方案 /// </summary> /// <param name="BE"></param> public void SelectEditChange(FarPoint.Win.Spread.SheetView SheetView, object obj, Itop.Client.Base.FormBase FB) { string strTitle = null; string strID = null; strID = obj.ToString(); Ps_forecast_list pfl=null; string con1 = "ID='" + strID + "' and UserID='" + FB.ProjectUID + "'"; try { //查询下拉菜单所选中的数据 pfl = (Ps_forecast_list)Services.BaseService.GetObject("SelectPs_forecast_listByWhere", con1); strTitle = pfl.Title; //“十二五”电网投资(千瓦时/元) dTwelveFiveGridInvestment=TwelveFiveGridInvestment(pfl.ID, strTitle, FB); //(2015年网供最大负荷-2010年网供最大负荷) dNetworkMaxDuty=NetworkMaxDuty(pfl.ID, strTitle); //2015-2010年售电收入 dSaleOfElectricity=SaleOfElectricity(pfl.ID, strTitle); //(电网2010年末资产原值+2015年电网年末资产原值) dInitialAssetValue=InitialAssetValue(pfl.ID, strTitle); //单年售电量 dYearSaleEletricity=YearSaleEletricity(pfl.ID, strTitle, 2015); WriteData(SheetView, 5, 0);//数据 } catch(System.Exception e) { //MessageBox.Show(e.Message); } }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_1Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title, bool IsTrue) { SelectValue(FB); int IntColCount = 5; int IntRowCount = list.Count + 2 + 3;//标题占3行,分区类型占2行,1是其它用 string title = null; obj.SheetName = Title; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 S10_1.ColReadOnly(obj, IntColCount); //obj.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly; string strTitle = ""; IntRow = 3; strTitle = Title; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title); PF.SetSheetViewColumnsWidth(obj, 0, Title); IntCol = 1; strTitle = " 变电站名称"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 电压等级(kV)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2012年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2015年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "备 注"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; SetLeftTitle(obj, IntRow, IntCol); if(!IsTrue) { WriteData(obj, IntRow, IntCol); } else//更新 { ComparisonData(obj, 5, 2); WriteData(obj, IntRow, IntCol); } PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// 根据下拉菜单从新打印报表 /// </summary> /// <param name="FB"></param> /// <param name="obj"></param> /// <param name="strEndYear"></param> public void SetColumnsTitle(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj,string strEndYear) { //查询变电站数据 SelectBDZ(FB); SelectLine(FB,strEndYear,BDZList); //重绘 ReDraw(FB,obj,strEndYear); }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_13Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int IntColCount = 3; int IntRowCount = 6 + 2 + 3;//标题占3行,分区类型占2行 string title = null; obj.SheetName = Title; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 m_PF.LockSheets(obj); string strTitle = ""; IntRow = 3; strTitle = Title; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title); PF.SetSheetViewColumnsWidth(obj, 0, Title); IntCol = 1; strTitle = "单位:万千瓦 万千伏安 千伏 座 台"; obj.AddSpanCell(IntRow, 0, 1, obj.Columns.Count); obj.SetValue(IntRow, 0, strTitle); PF.SetSheetViewColumnsWidth(obj, 0, strTitle); //右对齐 obj.Rows[IntRow].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right; //列标题 strTitle = "序号"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow += 1, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); for (int i = 0; i < (IntColCount - 1); ++i) { switch (i) { case 0: strTitle = " 项 目 "; break; case 1: strTitle = " 统计 "; break; default: break; } PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); } NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// add BareditItems of years /// </summary> /// <param name="BE">BarEditItem object</param> public void AddBarEditItems(DevExpress.XtraBars.BarEditItem BE, DevExpress.XtraBars.BarEditItem BE1, Itop.Client.Base.FormBase FB) { IList list = SelectProgramme(FB); Ps_forecast_list pfl = null; //BE.EditValue = "2000"; for(int i=0;i<list.Count;++i) { pfl = (Ps_forecast_list)list[i]; ((DevExpress.XtraEditors.Repository.RepositoryItemComboBox)BE.Edit).Items.Add(pfl.Title); ((DevExpress.XtraEditors.Repository.RepositoryItemComboBox)BE1.Edit).Items.Add(pfl.ID); } }
public PrintHelper(ItopVectorControl tc, Itop.MapView.IMapViewObj map) { //int chose = Convert.ToInt32(ConfigurationSettings.AppSettings.Get("chose")); //if (chose == 1) //{ map = new Itop.MapView.MapViewObj(); } //else if (chose == 2) //{ map = new Itop.MapView.MapViewObj2(); } tlVectorControl1 = tc; mapview = map; pdoc = new PrintDocument(); pdoc.PrintPage += new PrintPageEventHandler(pdoc_PrintPage); pageSetting = pdoc.PrinterSettings.DefaultPageSettings; }
/// <summary> /// 这个是用lookupEdit控件的方法现在没有用这个控件 /// </summary> /// <param name="LE"></param> /// <param name="FB"></param> public void AddLookUpEditValue(DevExpress.XtraEditors.LookUpEdit LE, Itop.Client.Base.FormBase FB) { IList list = SelectProgramme(FB); Ps_forecast_list pfl = null; LE.EditValue = list; //BE.EditValue = "2000"; //for (int i = 0; i < list.Count; ++i) //{ // pfl = (Ps_forecast_list)list[i]; // LE.EditValue = pfl; // //((DevExpress.XtraEditors.Repository.RepositoryItemComboBox)LE.EditValue).Items.Add(pfl.Title); //} }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_8Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int IntColCount = 1; int IntRowCount = 6 + 2 + 3;//标题占3行,分区类型占2行 string title = null; obj.SheetName = Title; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 m_PF.LockSheets(obj); string strTitle = ""; IntRow = 3; strTitle = Title; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title); PF.SetSheetViewColumnsWidth(obj, 0, Title); IntCol = 1; strTitle = "单位:条"; obj.AddSpanCell(IntRow, 0, 1, obj.Columns.Count); obj.SetValue(IntRow, 0, strTitle); PF.SetSheetViewColumnsWidth(obj, 0, strTitle); //右对齐 obj.Rows[IntRow].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right; //列标题 strTitle = " 变 电 站 "; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow += 1, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// 找到当前列的数据 /// </summary> /// <param name="obj"></param> /// <param name="CurrentYear">列标题包括(当前年份,土地面积)</param> /// <param name="strTitle">指标名称</param> private object SelectCurrentData(Itop.Client.Base.FormBase FB, string CurrentYear, string strTitle,string BeginYear) { string sql = null; string sql1 = null; string ID = null; object value = 0; //先找到地区的id sql = " ProjectId='" + FB.ProjectUID + "' and Area='" + strTitle + "'"; try { ID = (string)Services.BaseService.GetObject("SelectAreaDataOfID", sql); } catch (System.Exception e) { MessageBox.Show(e.Message); } if(CurrentYear=="面积") { sql1 = "select TotalArea from ps_table_AreaData where parentId='" + ID + "' and ProjectId='" + FB.ProjectUID + "' and yearf='" + BeginYear + "'"; } else { sql1 = "select population from ps_table_AreaData where parentId='" + ID + "' and ProjectId='" + FB.ProjectUID + "' and yearf='" + CurrentYear + "'"; } try { value = (double)Services.BaseService.GetObject("SelectAreaDataOfCurrent", sql1); } catch (Exception e) { //MessageBox.Show("错误,错误原因:"+ e.Message,"提示错误",MessageBoxButtons.OK,MessageBoxIcon.Information); } return value; }
/// <summary> /// 查询方案内容,给下拉菜单用 /// </summary> private IList SelectProgramme(Itop.Client.Base.FormBase FB) { IList Programme = null;//方案 //Ps_forecast_list report = new Ps_forecast_list(); //report.UserID =FB. ProjectUID; Programme = Services.BaseService.GetList("SelectPs_forecast_listByUserID", FB.ProjectUID); return Programme; }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_6Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { SelectLine(FB, strYear); int IntColCount = 14; int IntRowCount = list.Count + 2 + 3;//标题占3行,分区类型占2行,1是其它用 string title = null; obj.SheetName = Title; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 S10_1.ColReadOnly(obj, IntColCount); //obj.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly; string strTitle = ""; IntRow = 3; strTitle = Title; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title); PF.SetSheetViewColumnsWidth(obj, 0, Title); IntCol = 1; strTitle = " 序 号"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 中压线路名"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 变电站名"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 电压等级(kV) "; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "线路属性"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 干线长度(km)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 线路总长度(km)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 电缆线路长度(km)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 架空线路长度(km)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 主干线型号"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 架设方式"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 最大电流(A)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 线路投运时间"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 线路停运时间"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; WriteData(FB, obj, IntRow, IntCol); PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// 写入数据 /// </summary> /// <param name="obj"></param> /// <param name="IntRow"></param> /// <param name="IntCol"></param> private void WriteData(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { PSPDEV psDev = null; Object Value = null; for (int i = 0; i < list.Count; ++i) { psDev = (PSPDEV)list[i]; SelectBDZ(FB, psDev.Name); for (int j = 0; j < obj.ColumnCount; ++j) { switch (j) { case 0: Value = i + 1;//序号 break; case 1: Value = psDev.Name;//中压线路名 break; case 2: if (BDZ == null) { Value = "";//BDZ1.Title; } else if (BDZ1 == null) { Value = "";// BDZ.Title; } else { Value = BDZ.Title + "," + BDZ1.Title;//变电站名 } break; case 3: Value = psDev.RateVolt;//电压等级(kV) break; case 4: Value = psDev.LineType2;//线路属性 break; case 5://*************************************** //干线长度(km)(A),手写 break; case 6: Value = psDev.Length2 + psDev.LineLength;//线路总长度(km) break; case 7: Value = psDev.Length2;//电缆线路长度(km) break; case 8: Value = psDev.LineLength;//架空线路长度(km) break; case 9: Value = psDev.LineType;//主干线型号 break; case 10: if (psDev.LineLength > psDev.Length2) Value = "架空";//架设方式 else Value = "电缆"; break; case 11: Value = psDev.Burthen * 1000;//最大电流(A) break; case 12: Value =psDev.OperationYear;//线路投运时间 break; default: break; } if(j==obj.ColumnCount-1||j==5) { obj.Cells[IntRow + i, j].Locked = false; } else { obj.SetValue(IntRow + i, j, Value);// } } } }
/// <summary> /// 寻找线路所有数据 /// </summary> private void SelectLine(Itop.Client.Base.FormBase FB, string year) { string con = " where IName!=''and JName!=''and RateVolt<'35' and Type='05' and ProjectID='" + FB.ProjectUID + "' and OperationYear <='" + year + "'"; try { list = Services.BaseService.GetList("SelectPSPDEVByCondition", con); } catch (System.Exception e) { MessageBox.Show(e.Message); } }
/// <summary> /// 查询变电站数据 /// </summary> private void SelectBDZ(Itop.Client.Base.FormBase FB, string strName) { string sql = " AreaID='" + FB.ProjectUID + "'and uid in(select svguid from pspDEV where ProjectID='" + FB.ProjectUID + "' and Type='01'and Name in(select JName from pspdev where Name='" + strName + "'))"; string sql1 = " AreaID='" + FB.ProjectUID + "'and uid in(select svguid from pspDEV where ProjectID='" + FB.ProjectUID + "' and Type='01'and Name in(select IName from pspdev where Name='" + strName + "'))"; try { BDZ = (PSP_Substation_Info)Services.BaseService.GetObject("SelectPSP_Substation_InfoListByWhere", sql); BDZ1 = (PSP_Substation_Info)Services.BaseService.GetObject("SelectPSP_Substation_InfoListByWhere", sql1); } catch (System.Exception e) { MessageBox.Show(e.Message); } }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_25Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { int Temp = 0; int IntColCount = 6; SelectData(FB); int IntRowCount = HList.Count+Llist.Count+1 + 2 + 3;//标题占3行,分区类型占2行 int BringIntoPproductionTime = 6;//投产时间的列数 string title = null; obj.SheetName = Title; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 m_PF.LockSheets(obj); string strTitle = ""; IntRow = 3; strTitle = Title; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title); PF.SetSheetViewColumnsWidth(obj, 0, Title); IntCol = 1; strTitle = " 单位:亿元"; obj.AddSpanCell(IntRow, 0, 1, obj.Columns.Count); obj.SetValue(IntRow, 0, strTitle); PF.SetSheetViewColumnsWidth(obj, 0, strTitle); //右对齐 obj.Rows[IntRow].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right; //列标题 IntRow = 4; strTitle = "序 号"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "项 目"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "项目性质"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "建设年限"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "建设内容"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "资 金"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); NextRowMerge = 1; NextColMerge = 1; IntRow = 6; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 //SetLeftTitle(); WriteData(obj,IntRow); }
/// <summary> /// 查询 高压 ,中低压数据 /// </summary> /// <param name="FB"></param> private void SelectData(Itop.Client.Base.FormBase FB) { string sql = "select a.* FROM Ps_Table_TZGS a,Ps_Table_TZGS b,Ps_Table_TZGS c,Ps_Table_TZGS d" + " where a.ID = b.ParentID AND b.Col4 = 'pw-line'" + " AND a.ID = c.ParentID AND c.Col4 = 'pw-pb'" + " and a.ID = d.ParentID AND d.Col4 = 'pw-kg'" + " and a.ProjectID='"+FB.ProjectUID+"'" + " and a.BuildEd between '2010' and '2015'"; string sql1 = "Select a.* FROM Ps_Table_TZGS a INNER JOIN" +" Ps_Table_TZGS b ON a.ID = b.ParentID INNER JOIN" +" Ps_Table_TZGS c ON a.ID = c.ParentID" +" where b.Col4 = 'bian' and c.Col4='line'and " + " a.ProjectID='" + FB.ProjectUID + "'and a.BuildEd between '2010' and '2015'"; try { Llist = Services.BaseService.GetList("SelectTZGSEveryField", sql);//低压数据 HList = Services.BaseService.GetList("SelectTZGSEveryField", sql1);//高压数据 } catch (System.Exception e) { MessageBox.Show(e.Message); } }
/// <summary> /// 写入数据 /// </summary> /// <param name="obj"></param> /// <param name="IntRow"></param> /// <param name="IntCol"></param> private void WriteData(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol) { //Ps_Table_TZGS pTT = null; //string strTitle = null; //string strDQ = null; //string strVoleitle = null; //Object Value = null; for (int i = 0; i < obj.RowCount-IntRow; ++i) { //strTitle = PF.ReturnStr(obj, IntRow+i, 0).ToString();//县级还是市辖 //strDQ = PF.ReturnStr(obj, IntRow + i, 1).ToString();//分区 //strVoleitle = (string)PF.ReturnStr(obj, IntRow + i, 2);//电压等级 for (int j = 3; j < obj.ColumnCount; ++j) { obj.Cells[IntRow + i, j].Locked = false; //switch (j) //{ // case 3: // Value = SelectValue(FB,strTitle,strDQ,strVoleitle,"2010");// // break; // case 4: // Value = SelectValue(FB,strTitle,strDQ,strVoleitle,"2011");// // break; // case 5://*************************************** // Value = SelectValue(FB,strTitle,strDQ,strVoleitle,"2012");// // break; // case 6: // Value = SelectValue(FB,strTitle,strDQ,strVoleitle,"2013");// // break; // case 7: // Value = SelectValue(FB,strTitle,strDQ,strVoleitle,"2014");// // break; // case 8: // Value = SelectValue(FB,strTitle,strDQ,strVoleitle,"2015");// // break; // case 9: // Value = SelectValue(FB,strTitle,strDQ,strVoleitle,"2020");// // break; // default: // break; //} //obj.SetValue(IntRow + i, j, Value);// } } }
/// <summary> /// 查询符合条件的分区 /// </summary> private void selectAreaName(Itop.Client.Base.FormBase FB) { //string sql = "select AreaName from ps_table_tzgs where (BianInfo like '110@%'or BianInfo like '66@%' or BianInfo like '35@%') and DQ='市辖供电区' and ProjectID='" + FB.ProjectUID + "' group by AreaName"; //string sql1 = "select AreaName from ps_table_tzgs where (BianInfo like '110@%'or BianInfo like '66@%' or BianInfo like '35@%') and DQ!='市辖供电区' and ProjectID='" + FB.ProjectUID + "' group by AreaName"; string sql = "select Title from ps_Table_AreaWH where Col1='市区'and ProjectID='"+FB.ProjectUID+"' group by title"; string sql1 = "select Title from ps_Table_AreaWH where Col1='县级'and ProjectID='" + FB.ProjectUID + "' group by title"; try { AreaName[0] = Services.BaseService.GetList("SelectTZGSEvery", sql); AreaName[1] = Services.BaseService.GetList("SelectTZGSEvery", sql1); } catch (System.Exception e) { MessageBox.Show(e.Message); } }
/// <summary> /// 查询变电站的数据 /// </summary> private void SelectBDZ(Itop.Client.Base.FormBase FB, string year) { string con = " L1 >='35' and AreaID='" + FB.ProjectUID + "' and S2 <='" + year + "'"; try { list = Services.BaseService.GetList("SelectPSP_Substation_InfoListByWhere", con); } catch (System.Exception e) { MessageBox.Show(e.Message); } }
/// <summary> /// 重绘 /// </summary> /// <param name="obj"></param> private void Redraw(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int BeginYear, int EndYear) { list = AddColumnTitle(BeginYear, EndYear); obj.RowCount = 0; obj.ColumnCount = 0; obj.ColumnCount = 1 + (EndYear - BeginYear + 1) + list.Count+1; SelectDQ(FB); int IntRowCount = 1+AreaList.Count + 1 + 2 + 3;//标题占3行,分区类型占2行,1是其它用 string title = null; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 m_PF.LockSheets(obj); string strTitle = ""; IntRow = 3; strTitle = "附表2 铜陵县分镇/片区" + BeginYear + "~" + EndYear + "年人口状况表"; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, strTitle); PF.SetSheetViewColumnsWidth(obj, 0, strTitle); IntCol = 1; strTitle = "单位:万人、平方公里"; obj.AddSpanCell(IntRow, 0, 1, obj.Columns.Count); obj.SetValue(IntRow, 0, strTitle); //右对齐 obj.Rows[IntRow].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right; strTitle = " 镇/片区"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow += 1, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "面积"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, "60"); for (int i = 0; i < AreaList.Count+1; ++i) { if(i!=AreaList.Count) { PF.CreateSheetView(obj, 1, NextColMerge, (IntRow + i + 2), 0, AreaList[i].ToString()); PF.SetSheetViewColumnsWidth(obj, IntCol, AreaList[i].ToString()); } else { PF.CreateSheetView(obj, 1, NextColMerge, (IntRow + i + 2), 0, "合计"); } } NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; //PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_3Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title) { SelectBDZ(FB,strYear); int IntColCount = 14; int IntRowCount = list.Count + 2 + 3;//标题占3行,分区类型占2行,1是其它用 string title = null; obj.SheetName = Title; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 S10_1.ColReadOnly(obj, IntColCount); //obj.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly; string strTitle = ""; IntRow = 3; strTitle = Title; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title); PF.SetSheetViewColumnsWidth(obj, 0, Title); IntCol = 1; strTitle = " 名 称"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 电压等级(kV)s"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 变 比"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 容量构成(MVA) "; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 主变台数(台) "; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 总容量(MVA)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 最大负荷(MW)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 无功补偿容量(Mvar)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 10(20)kV出线间隔总数(回)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 10(20)已出线间隔数 (回)"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 公用/专用"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 建设型式"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 投运时间"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 所在分区"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; WriteData(obj, IntRow, IntCol); PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// 找出地区,是县级的 /// </summary> private void SelectDQ(Itop.Client.Base.FormBase FB) { string sql = " ProjectId='" + FB.ProjectUID + "' and col1='县级'"+ " and Title not like '%部地区%'"; try { AreaList = Services.BaseService.GetList("SelectPS_Table_AreaWH_Title", sql); } catch (System.Exception e) { //MessageBox.Show(e.Message); } }
/// <summary> /// 查询数据通过县级或市辖还有分区名来查找,现在不用 /// </summary> /// <param name="FB"></param> /// <param name="strTitle"></param> /// <param name="DQ"></param> private Object SelectValue(Itop.Client.Base.FormBase FB, string strTitle, string DQ, string sVoleitleClass, string year) { string sql = null; string strtemp = null; if (sVoleitleClass == "110(66)") strtemp = "BianInfo like '110@%'or BianInfo like '66@%'"; if(sVoleitleClass=="35") { strtemp = "BianInfo like '35@%' "; } Object value = 0; if(strTitle=="市辖供电区") sql = "select sum(y"+year+") from ps_table_tzgs where ("+strtemp+") and DQ='市辖供电区' and ProjectID='"+FB.ProjectUID+"' and AreaName='"+DQ+"' "; if(strTitle=="县级供电区") sql = "select sum(y" + year + ") from ps_table_tzgs where ("+strtemp+") and DQ!='市辖供电区' and ProjectID='" + FB.ProjectUID + "' and AreaName='" + DQ + "' "; try { value = Services.BaseService.GetObject("SelectTZGSEvery", sql); } catch (System.Exception e) { MessageBox.Show(e.Message); } return value; }
/// <summary> /// 写入数据 /// </summary> /// <param name="obj"></param> private void WriteData(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj,string BeginYear) { string strRowTitle = null; string strColTitle = null; for (int i = 6; i < obj.RowCount; ++i) { strRowTitle = (string)PF.ReturnStr(obj, i, 0); for (int j = 1; j < obj.ColumnCount; ++j) { strColTitle = obj.GetValue(4, j).ToString(); if (strRowTitle == "合计") { if (strColTitle == "“十五”年均增速" || strColTitle == "“十一五”年均增速" || strColTitle == "“十二五”年均增速" || strColTitle == "“十三五”年均增速") { if (strColTitle == "“十五”年均增速") { obj.Cells[i, j].Formula = "POWER(" + PF.GetColumnTitle(j - 1) + (i + 1) + "/" + PF.GetColumnTitle(j - 6) + (i + 1) + ",1/5)-1"; } else { obj.Cells[i, j].Formula = "POWER(" + PF.GetColumnTitle(j - 1) + (i + 1) + "/" + PF.GetColumnTitle(j - 5) + (i + 1) + ",1/5)-1"; } obj.Cells[i, j].CellType = PC;//% } else { obj.Cells[i, j].Formula = "Sum(" + PF.GetColumnTitle(j) + (i) + ":" + PF.GetColumnTitle(j) + (i - AreaList.Count+1 ) + ")"; //obj.Cells[i, j].Formula = "POWER(" + PF.GetColumnTitle(j) + (i) + "/" + PF.GetColumnTitle(j) + (i - AreaList.Count + 1) + ",1/" + AreaList.Count + ")-1"; } } else { if (strColTitle == "“十五”年均增速" || strColTitle == "“十一五”年均增速" || strColTitle == "“十二五”年均增速" || strColTitle == "“十三五”年均增速") { if (strColTitle == "“十五”年均增速") { obj.Cells[i, j].Formula = "POWER(" + PF.GetColumnTitle(j - 1) + (i + 1) + "/" + PF.GetColumnTitle(j - 6) + (i + 1) + ",1/5)-1"; } else { obj.Cells[i, j].Formula = "POWER(" + PF.GetColumnTitle(j - 1) + (i + 1) + "/" + PF.GetColumnTitle(j - 5) + (i + 1) + ",1/5)-1"; } obj.Cells[i, j].CellType = PC;//% } else { obj.SetValue(i, j, SelectCurrentData(FB, strColTitle, strRowTitle, BeginYear)); } } } } }
////////////////////////////////////////////////////////////////////////// /// <summary> /// 填写表头 /// </summary> /// <param name="obj"></param> /// <param name="Title"></param> public void SetSheet_8Title(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, string Title, bool IsTrue) { strVoleitleClass[0] = "110(66)"; strVoleitleClass[1] = "35"; selectAreaName(FB); int IntColCount = 10; int IntRowCount = AreaName[0].Count * VoltileClass + AreaName[1].Count * VoltileClass + 2 + 3;//标题占3行,分区类型占2行,1是其它用 string title = null; obj.SheetName = Title; obj.Columns.Count = IntColCount; obj.Rows.Count = IntRowCount; IntCol = obj.Columns.Count; PF.Sheet_GridandCenter(obj);//画边线,居中 S10_1.ColReadOnly(obj, IntColCount); //obj.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly; string strTitle = ""; IntRow = 3; strTitle = Title; PF.CreateSheetView(obj, IntRow, IntCol, 0, 0, Title); PF.SetSheetViewColumnsWidth(obj, 0, Title); IntCol = 1; strTitle = " 分区类型"; PF.CreateSheetView(obj, NextRowMerge += 1, NextColMerge, IntRow, IntCol -= 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 分区名称"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 分电压等级负荷"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2010年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = "2011年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2012年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2013年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2014年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2015年 "; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); strTitle = " 2020年"; PF.CreateSheetView(obj, NextRowMerge, NextColMerge, IntRow, IntCol += 1, strTitle); PF.SetSheetViewColumnsWidth(obj, IntCol, strTitle); NextRowMerge = 1; NextColMerge = 1; IntRow = 5; IntCol = 0; SetLeftTitle( obj, IntRow, IntCol); if(!IsTrue) { WriteData(FB, obj, IntRow, IntCol); }else { ComparisonData(obj,5,3); WriteData(FB, obj, IntRow, IntCol); } PF.SetWholeRowHeight(obj, obj.Rows.Count, obj.Columns.Count);//行高 }
/// <summary> /// 写入列标题 /// </summary> /// <param name="FB"></param> /// <param name="obj"></param> /// <param name="BeginYear"></param> /// <param name="EndYear"></param> public void SetColumnsTitle(Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int BeginYear, int EndYear) { int intTemp = BeginYear; const int coltemp = 2;//写入列的起始点 Redraw(FB,obj, BeginYear, EndYear); for (int i = BeginYear; i <= (EndYear + list.Count); ++i) { obj.AddSpanCell(4, (i - BeginYear + coltemp), 2, 1); //if(i!=EndYear+list.Count)//和下面eles对应 //{ obj.SetValue(4, (i - BeginYear + coltemp), intTemp); if (i == 2006) { obj.SetValue(4, (i - BeginYear + coltemp), "“十五”年均增速"); intTemp--; } if (i == (2011 + 1))//中间空一行所以加一 { obj.SetValue(4, (i - BeginYear + coltemp), "“十一五”年均增速"); intTemp--; } if (i == (2016 + 2)) { obj.SetValue(4, (i - BeginYear + coltemp), "“十二五”年均增速"); intTemp--; } if (i == (2021 + 3)) { obj.SetValue(4, (i - BeginYear + coltemp), "“十三五”年均增速"); intTemp--; } //} //else//这是预计的列现在先不用 //{ // if (i != 2006 && i != (2011 + 1) && i != (2016 + 2) && i != (2021 + 3)) // { // obj.SetValue(4, (i - BeginYear + 1), intTemp + "预计"); // } // else // { // if (i == 2006) // { // obj.SetValue(4, (i - BeginYear + 1), "“十五”年均增速"); // intTemp--; // } // if (i == (2011 + 1))//中间空一行所以加一 // { // obj.SetValue(4, (i - BeginYear + 1), "“十一五”年均增速"); // intTemp--; // } // if (i == (2016 + 2)) // { // obj.SetValue(4, (i - BeginYear + 1), "“十二五”年均增速"); // intTemp--; // } // if (i == (2021 + 3)) // { // obj.SetValue(4, (i - BeginYear + 1), "“十三五”年均增速"); // intTemp--; // } // } //} intTemp++; } list.Clear(); WriteData(FB, obj, BeginYear.ToString()); }