Example #1
0
        // 初始化数据连接
        private void InitDB()
        {
            // 考虑真的要用单例吗
            m_dgvRain.InitDataSource(CDBDataMgr.GetInstance().GetRainProxy());
            m_dgvRain.InitDataSource(CDBDataMgr.GetInstance().GetFxfxProxy());

            m_dgvWater.InitDataSource(CDBDataMgr.GetInstance().GetWaterProxy());

            m_dgvVoltage.InitDataSource(CDBDataMgr.GetInstance().GetVoltageProxy());
            m_dgvVoltage.InitDataSource(CDBDataMgr.GetInstance().GetPwdProxy());

            m_dgvSoilData.InitDataSource(CDBDataMgr.GetInstance().GetObsProxy());
            m_dgvSoilData.InitDataSource(CDBSoilDataMgr.Instance.GetSoilDataProxy());

            m_chartRain.InitDataSource(CDBDataMgr.GetInstance().GetRainProxy());
            m_chartWaterFlow.InitDataSource(CDBDataMgr.GetInstance().GetWaterProxy());
            m_chartVoltage.InitDataSource(CDBDataMgr.GetInstance().GetVoltageProxy());
            m_charSoilData.InitDataSource(CDBSoilDataMgr.Instance.GetSoilDataProxy());

            List <CEntitySubCenter> listSubCenter = CDBDataMgr.Instance.GetAllSubCenter();

            m_listStations     = CDBDataMgr.Instance.GetAllStation();
            m_listSoilStations = CDBSoilDataMgr.Instance.GetAllSoilStation();
            cmb_SubCenter.Items.Add(CS_All_Station);
            for (int i = 0; i < listSubCenter.Count; ++i)
            {
                cmb_SubCenter.Items.Add(listSubCenter[i].SubCenterName);
            }
            this.cmb_SubCenter.SelectedIndex = 0;
        }
Example #2
0
        //private void btn_Save_Click_1(object sender, EventArgs e)
        //{
        //    //// 完成添加
        //    //if (AssertInputValid())
        //    //{
        //    //    this.Close();
        //    //    this.DialogResult = DialogResult.OK;
        //    //}

        //    // 完成添加
        //    CEntityStation station = GenerateStationFromUI();
        //    if (null == station)
        //    {
        //        return;
        //    }
        //    //  m_listStationAdded.Add(station);

        //    //  m_listStationCombination.Add(station);
        //    CDBDataMgr.GetInstance().m_mapStation.Add(station.StationID, station);
        //    //触发事件,并将修改后的文本回传
        //    AddStationEvent(station);
        //    this.Close();

        //    //InnerRefreshUI();

        //    //// 修改成功
        //    //btn_Save.Enabled = false;
        //    //btn_Revert.Enabled = false;
        //}

        private void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                //// 完成添加
                //if (AssertInputValid())
                //{
                //    this.Close();
                //    this.DialogResult = DialogResult.OK;
                //}

                // 完成添加
                CEntityStation station = GenerateStationFromUI();
                if (null == station)
                {
                    return;
                }
                //  m_listStationAdded.Add(station);

                //  m_listStationCombination.Add(station);
                CDBDataMgr.GetInstance().m_mapStation.Add(station.StationID, station);
                //触发事件,并将修改后的文本回传
                AddStationEvent(station);
                //this.Close();
                this.Hide();
                MessageBox.Show("测站添加完成! ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
                //InnerRefreshUI();

                //// 修改成功
                //btn_Save.Enabled = false;
                //btn_Revert.Enabled = false;
            }
            catch (Exception ex) { }
        }
Example #3
0
        private void Init()
        {
            tableLayoutPanel.SuspendLayout();
            m_dgvSubCenter = new CDataGridViewSubCenter();
            m_dgvSubCenter.AllowUserToAddRows  = false;
            m_dgvSubCenter.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
            //m_dgvRain.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            //m_dataGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
            m_dgvSubCenter.Dock = DockStyle.Fill;
            //m_dgvUser.AutoSize = true;
            //m_dataGridView.ReadOnly = true; //只读
            m_dgvSubCenter.AllowUserToResizeRows = false;
            m_dgvSubCenter.RowHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            m_dgvSubCenter.Margin                 = new System.Windows.Forms.Padding(0, 0, 0, 1);
            m_dgvSubCenter.RowHeadersWidth        = 50;
            m_dgvSubCenter.ColumnHeadersHeight    = 25;
            m_dgvSubCenter.SubCenterCountChanged += (s, e) =>
            {
                labelUserCount.Text = String.Format("共 {0} 个分中心", e.Value);
            };

            tableLayoutPanel.Controls.Add(m_dgvSubCenter, 0, 1);
            tableLayoutPanel.ResumeLayout(false);

            m_dgvSubCenter.InitDataSource(CDBDataMgr.GetInstance().GetSubCenterProxy());
            m_dgvSubCenter.SetEditMode(true); //目前只支持编写了编辑模式
            m_dgvSubCenter.LoadData();
        }
Example #4
0
        private void Init()
        {
            tableLayoutPanel.SuspendLayout();
            m_dgvPort = new CDataGridViewSerialPort();
            m_dgvPort.AllowUserToAddRows  = false;
            m_dgvPort.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
            m_dgvPort.Dock = DockStyle.Fill;
            m_dgvPort.AllowUserToResizeRows = false;
            m_dgvPort.RowHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            m_dgvPort.Margin              = new System.Windows.Forms.Padding(0, 0, 0, 1);
            m_dgvPort.RowHeadersWidth     = 50;
            m_dgvPort.ColumnHeadersHeight = 25;

            m_dgvPort.SetEditMode(true);
            m_dgvPort.SerialPortCountChanged += (s, e) =>
            {
                labelUserCount.Text = String.Format("共{0}个端口", e.Value);
            };

            tableLayoutPanel.Controls.Add(m_dgvPort, 0, 1);
            tableLayoutPanel.ResumeLayout(false);

            m_dgvPort.InitDataSource(CDBDataMgr.GetInstance().GetSerialPortProxy());

            if (!m_dgvPort.LoadData())
            {
                //加载失败
                //this.Close(); //关闭窗体
                // 抛出异常,结束显示
                throw new Exception("未配置通讯方式和数据协议,配置串口");
            }
        }
Example #5
0
        private ToolStripMenuItem m_itemRecoverDefault; //恢复默认

        public CDataGridViewSoilDataManage()
            : base()
        {
            InitDataGridView();
            m_listSubCenter = CDBDataMgr.GetInstance().GetAllSubCenter();
            CProtocolEventManager.DownForUI += this.DownForUI_EventHandler_4;
        }
Example #6
0
 /// <summary>
 /// 初始化数据
 /// </summary>
 private void InitDataSource()
 {
     try
     {
         m_listSubCenter = CDBDataMgr.Instance.GetAllSubCenter();
         m_listStation   = CDBDataMgr.GetInstance().GetAllStation();
         //m_listSoilStation = CDBSoilDataMgr.GetInstance().GetAllSoilStation();
         m_listStationCombination = new List <CEntityStation>(m_listStation.ToArray()); //可以的啦
     }
     catch (Exception ex) { }
 }
Example #7
0
        /// <summary>
        /// 初始化数据
        /// </summary>
        private void InitDataSource()
        {
            try
            {
                m_listSubCenter          = CDBDataMgr.Instance.GetAllSubCenter();
                m_listStation            = CDBDataMgr.GetInstance().GetAllStation();
                m_listSoilStation        = CDBSoilDataMgr.GetInstance().GetAllSoilStation();
                m_listStationCombination = new List <CEntityStation>(m_listStation.ToArray()); //可以的啦
            }
#pragma warning disable CS0168                                                                 // 声明了变量“ex”,但从未使用过
            catch (Exception ex) { }
#pragma warning restore CS0168                                                                 // 声明了变量“ex”,但从未使用过
        }
Example #8
0
        /// <summary>
        /// 初始化分中心、站点信息
        /// </summary>
        //private void InitStation()
        //{
        //    var m_listStation = CDBDataMgr.GetInstance().GetAllStation();
        //    var m_listSubCenter = CDBDataMgr.GetInstance().GetAllSubCenter();

        //    var dics = new Dictionary<CEntitySubCenter, IList<CEntityStation>>();

        //    var listSubcenters = new List<int>();
        //    foreach (var center in m_listSubCenter)
        //    {
        //        int subcenterId = center.SubCenterID;

        //        var listStations = new List<CEntityStation>();
        //        foreach (var station in m_listStation)
        //        {
        //            if (station.SubCenterID.HasValue && station.SubCenterID == subcenterId)
        //            {
        //                listStations.Add(station);
        //            }
        //        }

        //        if (!listSubcenters.Contains(subcenterId))
        //        {
        //            dics.Add(center, listStations);
        //        }
        //    }
        //    InitStation(dics);
        //}
        private void InitStation()
        {
            var m_listStation   = CDBDataMgr.GetInstance().GetAllStation();
            var m_listSubCenter = CDBDataMgr.GetInstance().GetAllSubCenter();
            //var m_listSoilStation = CDBSoilDataMgr.GetInstance().GetAllSoilStation();
            var m_listSoilStation = new List <CEntitySoilStation>();

            //var dics = new Dictionary<CEntitySubCenter, IList<CEntityStation>>();
            var dics     = new Dictionary <CEntitySubCenter, IList <Object> >();
            var dicsSoil = new Dictionary <CEntitySubCenter, IList <CEntitySoilStation> >();

            var listSubcenters = new List <int>();

            foreach (var center in m_listSubCenter)
            {
                int subcenterId = center.SubCenterID;

                var listStations = new List <Object>();
                //var listSoilStations = new List<Object>();
                foreach (var station in m_listStation)
                {
                    if (station.SubCenterID.HasValue && station.SubCenterID == subcenterId)
                    {
                        listStations.Add(station);
                    }
                }

                //foreach (var soilstation in m_listSoilStation)
                //{
                //    if (soilstation.SubCenterID.HasValue && soilstation.SubCenterID == subcenterId)
                //    {
                //        listStations.Add(soilstation);
                //    }
                //}

                if (!listSubcenters.Contains(subcenterId))
                {
                    dics.Add(center, listStations);
                    //  dics.Add(center, listSoilStations);
                    //  dicsSoil.Add(center, listSoilStations);
                }
            }
            if (!this.IsHandleCreated)
            {
                InitStation(dics);
            }
            else
            {
                instance.Invoke(new Action(() => { InitStation(dics); }));
            }
        }
Example #9
0
        /// <summary>
        /// 初始化分中心、站点信息
        /// </summary>
        //private void InitStation()
        //{
        //    var m_listStation = CDBDataMgr.GetInstance().GetAllStation();
        //    var m_listSubCenter = CDBDataMgr.GetInstance().GetAllSubCenter();

        //    var dics = new Dictionary<CEntitySubCenter, IList<CEntityStation>>();

        //    var listSubcenters = new List<int>();
        //    foreach (var center in m_listSubCenter)
        //    {
        //        int subcenterId = center.SubCenterID;

        //        var listStations = new List<CEntityStation>();
        //        foreach (var station in m_listStation)
        //        {
        //            if (station.SubCenterID.HasValue && station.SubCenterID == subcenterId)
        //            {
        //                listStations.Add(station);
        //            }
        //        }

        //        if (!listSubcenters.Contains(subcenterId))
        //        {
        //            dics.Add(center, listStations);
        //        }
        //    }
        //    InitStation(dics);
        //}
        private void InitStation()
        {
            var m_listStation = CDBDataMgr.GetInstance().GetAllStation();
            var m_listSubCenter = CDBDataMgr.GetInstance().GetAllSubCenter();
            var m_listSoilStation = CDBSoilDataMgr.GetInstance().GetAllSoilStation();

            //   var dics = new Dictionary<CEntitySubCenter, IList<CEntityStation>>();
            var dics = new Dictionary<CEntitySubCenter, IList<Object>>();
            var dicsSoil = new Dictionary<CEntitySubCenter, IList<CEntitySoilStation>>();

            var listSubcenters = new List<int>();
            foreach (var center in m_listSubCenter)
            {
                int subcenterId = center.SubCenterID;

                var listStations = new List<Object>();
                var listSoilStations = new List<Object>();
                foreach (var station in m_listStation)
                {
                    if (station.SubCenterID.HasValue && station.SubCenterID == subcenterId)
                    {
                        listStations.Add(station);

                    }
                }

                foreach (var soilstation in m_listSoilStation)
                {
                    if (soilstation.SubCenterID.HasValue && soilstation.SubCenterID == subcenterId)
                    {
                        listStations.Add(soilstation);
                    }
                }

                if (!listSubcenters.Contains(subcenterId))
                {
                    dics.Add(center, listStations);
                    //  dics.Add(center, listSoilStations);
                    //  dicsSoil.Add(center, listSoilStations);
                }

            }
            InitStation(dics);
        }
Example #10
0
 // 初始化数据
 public void InitDataSource()
 {
     m_dgvUser.InitDataSource(CDBDataMgr.GetInstance().GetUserProxy());
 }
 public CDataGridViewSystemClock()
     : base()
 {
     InitDataGridView();
     m_listSubCenter = CDBDataMgr.GetInstance().GetAllSubCenter();
 }
Example #12
0
        private void AssertWaterData(CEntityWater water, ref ERTDDataState rtdState, bool bNotityWarning = true)
        {
            // 判断水量信息是否合法,写入系统信息或者告警信息
            CEntityStation station = CDBDataMgr.GetInstance().GetStationById(water.StationID);
            StringBuilder  errinfo = new StringBuilder();

            // 判断是否超过最大值
            rtdState = ERTDDataState.ENormal;
            if (station.DWaterMax.HasValue)
            {
                if (water.WaterStage > station.DWaterMax)
                {
                    errinfo.AppendFormat("水位 {0} 超过最大值 {1} 站点编号:{2}", water.WaterStage.ToString("0.00"), station.DWaterMax.Value.ToString("0.00"), water.StationID);
                    rtdState = ERTDDataState.EError;
                }
            }
            // 判断是否低于最小值
            if (station.DWaterMin.HasValue)
            {
                if (water.WaterStage < station.DWaterMin)
                {
                    errinfo.AppendFormat("水位 {0} 低于最小值 {1} 站点编号:{2}", water.WaterStage.ToString("0.00"), station.DWaterMin.Value.ToString("0.00"), water.StationID);
                    rtdState = ERTDDataState.EError;
                }
            }

            // 判断是否超过允许变化值,暂时还未考虑好
            if (station.DWaterChange.HasValue && station.LastWaterStage.HasValue)
            {
                Decimal change = water.WaterStage - station.LastWaterStage.Value;
                if (change > station.DWaterChange)
                {
                    errinfo.AppendFormat("水位变化 {0} 超过允许值{1} 站点编号:{2}", change.ToString("0.00"), station.DWaterChange.Value.ToString("0.00"), water.StationID);
                    rtdState = ERTDDataState.EError;
                }
            }

            // 更新水位值,便于计算水位变化
            station.LastWaterStage = water.WaterStage;

            // 通知其它页面
            if (!errinfo.ToString().Equals(""))
            {
                if (bNotityWarning)
                {
                    CSystemInfoMgr.Instance.AddInfo(errinfo.ToString(), water.TimeCollect, ETextMsgState.EError);
                    CWarningInfoMgr.Instance.AddInfo(errinfo.ToString(), water.TimeCollect, EWarningInfoCodeType.EWater, station.StationID);
                    if (flag == 0)
                    {
                        flag = 1;
                        ////MessageBoxForm mbForm = new MessageBoxForm();
                        ////mbForm.StartPosition = FormStartPosition.CenterParent;
                        ////mbForm.Text = "水位报警";
                        ////mbForm.label3.Text = water.TimeCollect.ToString();
                        ////mbForm.label1.Text = errinfo.ToString();
                        ////mbForm.label2.Text = "是否关闭报警声音?";
                        ////mbForm.TopMost = true;
                        ////mbForm.ShowDialog();
                        string info = water.TimeCollect.ToString() + "\r\n" + "\r\n" + errinfo.ToString() + "\r\n" + "\r\n" + "是否关闭报警声音?" + "\r\n";
                        Thread t    = new Thread(new ParameterizedThreadStart(MessageShow));
                        t.Start(info);
                    }
                }
            }
        }
Example #13
0
        public void Import(CBatchStruct batch, DateTime DStartTime, DateTime DEndTime, bool isUpdate = false)
        {
            DateTime?     lastTime             = null;
            ERTDDataState tmpRTDWaterDataState = ERTDDataState.ENormal;
            ////gm  1024 $60091K02031610220800084505230800084505
            //string rawString = rawData;
            //string startTime = rawString.Substring(11, 10);
            //string endTime = rawString.Substring(27, 6);
            //string strYear = 20 + startTime.Substring(0, 2);
            //string strMonth = startTime.Substring(2, 2);
            //string strStartDay = startTime.Substring(4, 2);
            //string strStartHour = startTime.Substring(6, 2);
            //string strStartMinute = startTime.Substring(8, 2);
            //string strEndDay = endTime.Substring(0, 2);
            //string strEndHour = endTime.Substring(2, 2);
            //string strEndMinute = endTime.Substring(4, 2);

            ////DateTime DStartTime = new DateTime(int.Parse(strYear), int.Parse(strMonth), int.Parse(strStartDay), int.Parse(strStartHour), int.Parse(strStartMinute), 0);
            ////DateTime DEndTime = new DateTime(int.Parse(strYear), int.Parse(strMonth), int.Parse(strEndDay), int.Parse(strEndHour), int.Parse(strEndMinute), 0);

            List <CTimeAndData> datas = batch.Datas;
            string         stationid  = batch.StationID;
            EStationType   type       = batch.StationType;
            CEntityStation station    = m_proxyStation.QueryById(stationid);

            //  if (type == EStationType.ERainFall)
            if (type == EStationType.ERiverWater)
            // if (true)
            {
                for (int i = 0; i < datas.Count; i++)
                {
                    if (lastTime == datas[i].Time)
                    {
                        lastTime = datas[i].Time;
                        continue;
                    }
                    lastTime = datas[i].Time;
                    int                status          = 1;
                    DateTime           dt              = datas[i].Time;
                    string             data            = datas[i].Data.ToString();
                    int                RawtotalRain    = int.Parse(data.Substring(0, 4));
                    Nullable <Decimal> RawrainAccuracy = decimal.Parse((data.Substring(4, 2)));
                    Nullable <Decimal> rainAccuracy    = RawrainAccuracy / 10;
                    Nullable <Decimal> totalRain       = RawtotalRain * rainAccuracy;
                    CEntityRain        LastSharpMes    = new CEntityRain();
                    CEntityRain        LastDayMes      = new CEntityRain();
                    //如果是第一条数据,则通过数据库获取上一条数据
                    if (i == 0)
                    {
                        Nullable <Decimal>      lastTotalRain = null, lastDayTotalRain = null, lastSharpClockTotalRain = null;
                        Nullable <DateTime>     lastDayTime        = null;
                        Nullable <DateTime>     lastClockSharpTime = null;
                        Nullable <DateTime>     lastDataTime       = null;
                        Nullable <Decimal>      lastPeriodRain     = null;
                        Nullable <EChannelType> lastChannelType    = null;
                        Nullable <EMessageType> lastMessageType    = null;

                        LastSharpMes = m_proxyRain.GetLastSharpRain(stationid, dt);
                        LastDayMes   = m_proxyRain.GetLastDayRain(stationid, dt);

                        lastTotalRain           = m_proxyRain.GetLastRain(stationid, dt).TotalRain;
                        lastSharpClockTotalRain = LastSharpMes.TotalRain;
                        lastDayTotalRain        = LastDayMes.TotalRain;

                        lastClockSharpTime = LastSharpMes.TimeCollect;
                        lastDayTime        = LastDayMes.TimeCollect;

                        //改动

                        // 查询成功

                        station.LastTotalRain    = lastTotalRain;
                        station.LastDayTotalRain = lastDayTotalRain;
                        station.LastPeriodRain   = lastPeriodRain;
                        if (lastDataTime != null && lastDataTime.HasValue)
                        {
                            station.LastDataTime = lastDataTime;
                        }
                        if (lastClockSharpTime != null && lastClockSharpTime.HasValue)
                        {
                            station.LastClockSharpTime = lastClockSharpTime;
                        }
                        if (lastDayTime != null && lastDayTime.HasValue)
                        {
                            station.LastDayTime = lastDayTime;
                        }
                        if (lastChannelType != null && lastChannelType.HasValue)
                        {
                            station.LastChannelType = lastChannelType;
                        }
                        if (lastMessageType != null && lastMessageType.HasValue)
                        {
                            station.LastMessageType = lastMessageType;
                        }

                        //int year = dt.Year;
                        //int month = dt.Month;
                        //int day = dt.Day;
                        //DateTime tmp1 = new DateTime(year, month, day, 8, 0, 0);
                        //DateTime tmp2 = tmp1.Subtract(new TimeSpan(24, 0, 0));
                        //station.LastDayTime = tmp2;
                        //lastSharpClockTotalRain = m_proxyRain.GetLastClockSharpTotalRain(stationid, dt);
                        //lastDayTotalRain = m_proxyRain.GetLastDayTotalRain(stationid, tmp2);
                        station.LastTotalRain = lastTotalRain;

                        station.LastClockSharpTotalRain = lastSharpClockTotalRain;
                        station.LastClockSharpTime      = lastClockSharpTime;

                        station.LastDayTotalRain = lastDayTotalRain;
                        station.LastDayTime      = lastDayTime;
                    }
                    CEntityRain rain = new CEntityRain();
                    rain.StationID   = stationid;
                    rain.TimeCollect = dt;
                    rain.TotalRain   = totalRain;
                    // rain.DifferneceRain = CalDifferenceRain(rainAccuracy, RawtotalRain, station.LastTotalRain, station.DRainChange, ref status);

                    if ((dt.Minute + dt.Second) == 0)
                    {
                        //rain.PeriodRain = CalPeriodRain(rainAccuracy, RawtotalRain, dt, station.LastClockSharpTotalRain);
                        rain.PeriodRain = CalPeriodRain_2(rainAccuracy, RawtotalRain, dt, station.LastClockSharpTotalRain, station.LastClockSharpTime, station.LastTotalRain);
                        station.LastClockSharpTotalRain = totalRain;
                        station.LastClockSharpTime      = dt;
                    }
                    if (dt.Hour == 8)
                    {
                        //rain.DayRain = CalDayRain(rainAccuracy, RawtotalRain, dt, station.LastDayTime, station.LastDayTotalRain);
                        rain.DayRain             = CalDayRain_2(rainAccuracy, RawtotalRain, dt, station.LastDayTotalRain, station.LastDayTime);
                        station.LastDayTotalRain = totalRain;
                        station.LastDayTime      = dt;
                    }
                    rain.DifferneceRain   = CalDifferenceRain_1(rainAccuracy, RawtotalRain, station.LastTotalRain, station.DRainChange, ref status);
                    station.LastTotalRain = totalRain;
                    // 待检测
                    rain.ChannelType = EChannelType.GPRS;
                    rain.MessageType = EMessageType.Batch;

                    rain.TimeRecieved = DateTime.Now;
                    if (status == 1)
                    {
                        rain.BState = 1;
                    }
                    else
                    {
                        rain.BState = 0;
                    }

                    rainResults.Add(rain);
                }
                List <CEntityRain> listInsert   = new List <CEntityRain>();
                List <CEntityRain> listUpdate   = new List <CEntityRain>();
                List <DateTime>    listDateTime = m_proxyRain.getExistsTime(stationid, DStartTime, DEndTime);
                for (int i = 0; i < rainResults.Count; i++)
                {
                    if (listDateTime.Contains(rainResults[i].TimeCollect))
                    {
                        listUpdate.Add(rainResults[i]);
                    }
                    else
                    {
                        listInsert.Add(rainResults[i]);
                    }
                }
                m_proxyRain.AddNewRows(listInsert); //写入数据库
                m_proxyRain.UpdateRows(listUpdate); //更新

                //m_proxyRain.AddOrUpdate(rainResults);
            }
            //操作water表
            //   if (type == EStationType.ERiverWater)
            if (type == EStationType.ERainFall)
            {
                for (int i = 0; i < datas.Count; i++)
                {
                    decimal  data = 0;
                    DateTime dt   = datas[i].Time;
                    try
                    {
                        string strData = datas[i].Data.Trim();
                        //decimal data = int.Parse(datas[i].Data) / 100;
                        data = decimal.Parse(strData) / 100;
                    }
#pragma warning disable CS0168 // 声明了变量“e”,但从未使用过
                    catch (Exception e)
#pragma warning restore CS0168 // 声明了变量“e”,但从未使用过
                    {
                        break;
                    }
                    //操作water表
                    CEntityWater water = new CEntityWater();
                    water.StationID    = station.StationID;
                    water.TimeCollect  = dt;
                    water.TimeRecieved = DateTime.Now;
                    if (station.DWaterBase.HasValue)
                    {
                        // 减去水位基值
                        water.WaterStage = data + station.DWaterBase.Value;
                    }
                    else
                    {
                        water.WaterStage = data;
                    }
                    water.WaterFlow = CDBDataMgr.GetInstance().GetWaterFlowByWaterStageAndStation(stationid, data);
                    //此处 waterflow需要计算的
                    water.ChannelType = EChannelType.GPRS;
                    water.MessageType = EMessageType.Batch;
                    AssertWaterData(water, ref tmpRTDWaterDataState);
                    //if (tmpRTDWaterDataState == ERTDDataState.ENormal)
                    //{
                    //    water.state = 1;
                    //}
                    //if (tmpRTDWaterDataState == ERTDDataState.EError)
                    //{
                    //    water.state = 0;
                    //}
                    //if (tmpRTDWaterDataState == ERTDDataState.EWarning)
                    //{
                    //    water.state = 2;
                    //}

                    waterResults.Add(water);
                }
                List <CEntityWater> listInsert   = new List <CEntityWater>();
                List <CEntityWater> listUpdate   = new List <CEntityWater>();
                List <DateTime>     listDateTime = m_proxyWater.getExistsTime(stationid, DStartTime, DEndTime);
                for (int i = 0; i < waterResults.Count; i++)
                {
                    if (listDateTime.Contains(waterResults[i].TimeCollect))
                    {
                        listUpdate.Add(waterResults[i]);
                    }
                    else
                    {
                        listInsert.Add(waterResults[i]);
                    }
                }
                //
                m_proxyWater.AddNewRows(listInsert); //写入数据库
                m_proxyWater.UpdateRows(listUpdate); //更新数据库

                //m_proxyWater.AddOrUpdate(waterResults);
            }
        }
Example #14
0
        private void tsButImport_Click(object sender, EventArgs e)
        {
            // 从文件中导入,格式如(1,212.23,2230.344),如果不对,不导入
            OpenFileDialog dlg = new OpenFileDialog();

            try
            {
                dlg.Title  = "选择水情测站文件";
                dlg.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
                DialogResult result = dlg.ShowDialog();
                if (DialogResult.OK == result)
                {
                    // 打开文件,并进行处理
                    //CMessageBox msgBox = new CMessageBox() { MessageInfo = "正在处理数据" };
                    //msgBox.ShowDialog(this);
                    StreamReader reader = new StreamReader(dlg.FileName, Encoding.Default);
                    string       linebuffer;
                    int          linenumber   = 0;
                    string       strErrorInfo = "";
                    // 获取数据库中已经存在的GPRS号码 gm 1107

                    List <string> gprs     = m_proxyStation.getAllGprs();
                    List <string> soilgprs = m_proxySoilStation.getAllGprs();
                    for (int i = 0; i < soilgprs.Count; i++)
                    {
                        gprs.Add(soilgprs[i]);
                    }
                    while ((linebuffer = reader.ReadLine()) != null && linebuffer.Length > 20)
                    {
                        // 处理一行数据
                        linenumber += 1;
                        if (!DealWithLineData(linebuffer, linenumber, ref strErrorInfo, ref gprs))
                        {
                            // 数据非法
                            //msgBox.CloseDialog();
                            MessageBox.Show(strErrorInfo);     // 显示错误信息
                            return;
                        }
                    }
                    reader.Close();
                    //msgBox.CloseDialog();

                    if (m_listImport.Count > 0)
                    {
                        m_proxyStation.AddRange(m_listImport);
                        for (int i = 0; i < m_listImport.Count; i++)
                        {
                            CDBDataMgr.GetInstance().m_mapStation.Add(m_listImport[i].StationID, m_listImport[i]);
                        }
                        m_listImport.Clear();
                    }
                    //if (m_listImport.Count > 0)
                    //{
                    //    m_proxyStation.AddRange(m_listImport);
                    //    for (int i = 0; i < m_listImport.Count; i++)
                    //    {
                    //        CDBDataMgr.GetInstance().m_mapStation.Add(m_listImport[i].StationID, m_listImport[i]);
                    //    }
                    //    m_listImport.Clear();
                    //}


                    MessageBox.Show("数据导入成功");

                    m_dgvStatioin.ClearAllRows();
                    CDBDataMgr.Instance.UpdateAllStation();
                    m_dgvStatioin.Revert();

                    // 加载数据
                    //m_dgvStatioin.LoadData();
                }//end of ok
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
            }
            finally
            {
                this.Focus(); //防止窗体最小化
            }
        }
Example #15
0
        private void export_Click(object sender, EventArgs e)
        {
            DateTime startTimeTmp = DateTimer.Value;
            DateTime endTimeTmp   = endDateTime.Value;
            DateTime startTime    = new DateTime(startTimeTmp.Year, startTimeTmp.Month, startTimeTmp.Day, 0, 0, 0);
            DateTime endTime      = new DateTime(endTimeTmp.Year, endTimeTmp.Month, endTimeTmp.Day, 0, 0, 0);
            // 获取是雨量还是水位类型
            string type = getType();
            // 获取被选择的站点
            // 获取站点信息 默认为全部站点
            List <string> stationSelected = new List <string>();

            int flagInt = 0;

            for (int i = 0; i < StationSelect.Items.Count; i++)
            {
                if (StationSelect.GetItemChecked(i))
                {
                    flagInt++;
                }
            }
            if (flagInt == 0)
            {
                for (int i = 0; i < StationSelect.Items.Count; i++)
                {
                    stationSelected.Add(StationSelect.GetItemText(StationSelect.Items[i]));
                }
            }
            else
            {
                for (int i = 0; i < StationSelect.Items.Count; i++)
                {
                    if (StationSelect.GetItemChecked(i))
                    {
                        stationSelected.Add(StationSelect.GetItemText(StationSelect.Items[i]));
                    }
                }
            }
            #region 雨量数据
            if (type.Equals("雨  量"))
            {
                CMessageBox box = new CMessageBox();
                box.MessageInfo = "正在导出雨量数据";
                box.ShowDialog(this);
                try
                {
                    for (int i = 0; i < stationSelected.Count; i++)
                    {
                        string             stationid    = stationSelected[i].Split('|')[0];
                        string             stationname  = stationSelected[i].Split('|')[1];
                        List <CEntityRain> rainList     = new List <CEntityRain>();
                        List <string>      rainInfoText = new List <string>();
                        rainList = CDBDataMgr.GetInstance().getListRainByTime(stationid, startTime, endTime);
                        for (int j = 0; j < rainList.Count; j++)
                        {
                            DateTime dataAndTime = rainList[j].TimeCollect;
                            string   rainInfo    = string.Empty;
                            rainInfo = rainInfo + "\"";
                            string tmp  = dataAndTime.ToString("d").Substring(2);
                            string year = dataAndTime.Year.ToString().Substring(2);
                            rainInfo = rainInfo + year + "/";
                            string month = dataAndTime.Month.ToString();
                            if (month.Length < 2)
                            {
                                month = "0" + month;
                            }
                            rainInfo = rainInfo + month + "/";
                            string day = dataAndTime.Day.ToString();
                            if (day.Length < 2)
                            {
                                day = "0" + day;
                            }
                            rainInfo = rainInfo + day + " ";
                            string hour = dataAndTime.Hour.ToString();
                            if (hour.Length < 2)
                            {
                                hour = "0" + hour;
                            }
                            rainInfo = rainInfo + hour;
                            string minute = dataAndTime.Minute.ToString();
                            if (minute.Length < 2)
                            {
                                minute = "0" + minute;
                            }
                            rainInfo = rainInfo + ":" + minute;

                            rainInfo = rainInfo + " ";
                            string rain = rainList[j].TotalRain.ToString();
                            for (int k = 0; k < 6 - rain.Length; k++)
                            {
                                rainInfo = rainInfo + "0";
                            }
                            rainInfo = rainInfo + rain;
                            rainInfo = rainInfo + "\"";
                            rainInfoText.Add(rainInfo);
                        }
                        if (rainInfoText != null && rainInfoText.Count > 1)
                        {
                            string fileName = "rainData" + "\\" + stationname + "站" + startTime.ToString("D") + "到" + endTime.ToString("D") + "雨量.Dat";
                            exportTxt(rainInfoText, fileName);
                        }
                    }
                    box.CloseDialog();
                    MessageBox.Show("导出雨量数据成功");
                }
                catch (Exception e1)
                {
                    box.CloseDialog();
                    MessageBox.Show("导出水位数据失败");
                }
            }
            #endregion

            #region 水位数据
            if (type.Equals("水  位"))
            {
                CMessageBox box = new CMessageBox();
                box.MessageInfo = "正在导出水位数据";
                box.ShowDialog(this);
                try
                {
                    for (int i = 0; i < stationSelected.Count; i++)
                    {
                        List <CEntityWater> waterList = new List <CEntityWater>();
                        string        stationid       = stationSelected[i].Split('|')[0];
                        string        stationname     = stationSelected[i].Split('|')[1];
                        List <string> waterInfoText   = new List <string>();
                        waterList = CDBDataMgr.GetInstance().GetWaterByTime(stationid, startTime, endTime);
                        for (int j = 0; j < waterList.Count; j++)
                        {
                            DateTime dataAndTime = waterList[j].TimeCollect;
                            string   waterInfo   = string.Empty;
                            waterInfo = waterInfo + "\"";
                            string year = dataAndTime.Year.ToString().Substring(2);
                            waterInfo = waterInfo + year + "/";
                            string month = dataAndTime.Month.ToString();
                            if (month.Length < 2)
                            {
                                month = "0" + month;
                            }
                            waterInfo = waterInfo + month + "/";
                            string day = dataAndTime.Day.ToString();
                            if (day.Length < 2)
                            {
                                day = "0" + day;
                            }
                            waterInfo = waterInfo + day + " ";
                            string hour = dataAndTime.Hour.ToString();
                            if (hour.Length < 2)
                            {
                                hour = "0" + hour;
                            }
                            waterInfo = waterInfo + hour;
                            string minute = dataAndTime.Minute.ToString();
                            if (minute.Length < 2)
                            {
                                minute = "0" + minute;
                            }
                            waterInfo = waterInfo + ":" + minute;

                            waterInfo = waterInfo + " ";
                            decimal waterd = waterList[j].WaterStage;

                            string water = ((int)(waterd * 100)).ToString();
                            for (int k = 0; k < 6 - water.Length; k++)
                            {
                                waterInfo = waterInfo + "0";
                            }
                            waterInfo = waterInfo + water;
                            waterInfo = waterInfo + "\"";
                            waterInfoText.Add(waterInfo);
                        }
                        if (waterInfoText != null && waterInfoText.Count > 1)
                        {
                            string fileName = "waterData" + "\\" + stationname + "站" + startTime.ToString("D") + "到" + endTime.ToString("D") + "水位.Dat";
                            exportTxt(waterInfoText, fileName);
                        }
                    }
                    box.CloseDialog();
                    MessageBox.Show("导出水位数据成功");
                }
                catch (Exception e2)
                {
                    box.CloseDialog();
                    MessageBox.Show("导出水位数据失败");
                }
            }
            #endregion

            #region 中澳格式数据
            if (type.Equals("中澳格式"))
            {
                CMessageBox box = new CMessageBox();
                box.MessageInfo = "正在导出中澳格式数据";
                box.ShowDialog(this);
                try
                {
                    for (int i = 0; i < stationSelected.Count; i++)
                    {
                        List <CEntityRainAndWater> rainWaterList = new List <CEntityRainAndWater>();

                        string        stationid     = stationSelected[i].Split('|')[0];
                        string        stationname   = stationSelected[i].Split('|')[1];
                        List <string> hydroInfoText = new List <string>();
                        rainWaterList = CDBDataMgr.GetInstance().getRainAndWaterList(stationid, startTime, endTime);
                        if (rainWaterList == null || rainWaterList.Count == 0)
                        {
                            continue;
                        }

                        for (int j = 0; j < rainWaterList.Count; j++)
                        {
                            DateTime dataAndTime = DateTime.Now;;
                            if (rainWaterList[j].rainTimeCollect <= DateTime.Now)
                            {
                                dataAndTime = rainWaterList[j].rainTimeCollect;
                            }
                            else if (rainWaterList[j].waterTimeCollect <= DateTime.Now)
                            {
                                dataAndTime = rainWaterList[j].waterTimeCollect;
                            }
                            else
                            {
                                continue;
                            }
                            string hydroInfo = string.Empty;
                            hydroInfo = hydroInfo + "1,";
                            hydroInfo = hydroInfo + dataAndTime.Year.ToString() + ",";
                            hydroInfo = hydroInfo + getDayOfYear(dataAndTime).ToString() + ",";
                            string hour = dataAndTime.Hour.ToString();
                            if (hour.Length < 2)
                            {
                                hour = "0" + hour;
                            }
                            string minute = dataAndTime.Minute.ToString();
                            if (minute.Length < 2)
                            {
                                minute = "0" + minute;
                            }
                            hydroInfo = hydroInfo + hour + minute + ",";
                            hydroInfo = hydroInfo + stationid.ToString() + ",";
                            if (rainWaterList[j].WaterStage != -9999)
                            {
                                hydroInfo = hydroInfo + rainWaterList[j].WaterStage.ToString() + ",";
                            }
                            else
                            {
                                hydroInfo = hydroInfo + ",";
                            }
                            if (rainWaterList[j].TotalRain != -9999)
                            {
                                hydroInfo = hydroInfo + rainWaterList[j].TotalRain.ToString() + ",";
                            }
                            else
                            {
                                hydroInfo = hydroInfo + ",";
                            }
                            hydroInfo = hydroInfo + "12.85";
                            hydroInfoText.Add(hydroInfo);
                        }
                        if (hydroInfoText != null && hydroInfoText.Count > 1)
                        {
                            string fileName = "specData" + "\\" + stationname + "站" + startTime.ToString("D") + "到" + endTime.ToString("D") + "数据.Dat";
                            exportTxt(hydroInfoText, fileName);
                        }
                    }
                    box.CloseDialog();
                    MessageBox.Show("导出中澳数据成功");
                }
                catch (Exception e2)
                {
                    box.CloseDialog();
                    MessageBox.Show("导出中澳数据失败");
                }
            }
            #endregion
            this.Focus();
        }
        /// <summary>
        /// 是否开启编辑模式
        /// </summary>
        /// <param name="bEnable"></param>
        public void SetEditMode(bool bEnable)
        {
            if (bEnable)
            {
                // 设定标题栏,默认有个隐藏列
                this.Header = new string[]
                {
                    CS_Delete, CS_StationId, CS_StationName, CS_StationType, CS_StationSubcenter,
                    CS_Gsm, CS_Gprs, CS_BDsatellite, CS_BDmember, CS_Maintran, CS_Subtran, CS_Dataprotocol, CS_Reportinterval,
                    CS_VoltageMin,
                    CS_A10, CS_B10, CS_C10, CS_D10, CS_M10, CS_N10,
                    CS_A20, CS_B20, CS_C20, CS_D20, CS_M20, CS_N20,
                    CS_A30, CS_B30, CS_C30, CS_D30, CS_M30, CS_N30,
                    CS_A40, CS_B40, CS_C40, CS_D40, CS_M40, CS_N40,
                    CS_A60, CS_B60, CS_C60, CS_D60, CS_M60, CS_N60,
                };
                base.HideColomns = new int[] { 14, 15, 16, 17, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 43 };
                List <string> listHeader = new List <string>(this.Header);
                //开启编辑模式,设置可编辑列
                DataGridViewCheckBoxColumn deleteCol = new DataGridViewCheckBoxColumn();
                base.SetColumnEditStyle(listHeader.IndexOf(CS_Delete), deleteCol);


                //// 设置站名可编辑
                DataGridViewTextBoxColumn stationNumber = new DataGridViewTextBoxColumn();
                base.SetColumnEditStyle(listHeader.IndexOf(CS_StationName), stationNumber);

                ////// 设置站点类型下拉列表
                //var cmb_StationType = new DataGridViewComboBoxColumn();
                //cmb_StationType.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
                //    cmb_StationType.Items.Add(CS_None);

                ////// 初始化站点类型
                //cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.ESoil));
                //cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.ESoilHydrology));
                //cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.ESoilRain));
                //cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.ESoilWater));
                //base.SetColumnEditStyle(listHeader.IndexOf(CS_StationType), cmb_StationType);

                ////所属分中心下拉列表
                var subcenterId = new DataGridViewComboBoxColumn();
                subcenterId.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
                List <CEntitySubCenter> listSubCenter = CDBDataMgr.GetInstance().GetAllSubCenter();
                // 初始化分中心
                foreach (CEntitySubCenter subcenter in listSubCenter)
                {
                    subcenterId.Items.Add(subcenter.SubCenterName);
                }
                //subcenterId.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
                base.SetColumnEditStyle(listHeader.IndexOf(CS_StationSubcenter), subcenterId);

                //// 设置站点ID下拉列表
                //DataGridViewComboBoxColumn stationId = new DataGridViewComboBoxColumn();
                //stationId.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
                //List<CEntityStation> listStation = CDBDataMgr.Instance.GetAllStation();
                //foreach (CEntityStation station in listStation)
                //{
                //    // 只添加墒情站点的类型
                //    if (station.StationType == EStationType.ESoil ||
                //        station.StationType == EStationType.ESoilHydrology ||
                //        station.StationType == EStationType.ESoilRain ||
                //        station.StationType == EStationType.ESoilWater)
                //    {
                //        stationId.Items.Add(station.StationID);
                //    }
                //}
                //base.SetColumnEditStyle(listHeader.IndexOf(CS_StationId), stationId);

                //// 设置设备号可编辑
                //DataGridViewTextBoxColumn deviceNumber = new DataGridViewTextBoxColumn();
                //base.SetColumnEditStyle(listHeader.IndexOf(CS_DeviceNumber), deviceNumber);
                base.SetColumnEditStyle(listHeader.IndexOf(CS_VoltageMin), GenerateColumnStype_1());
                //设置A10,B10,C10,D10的编辑列
                //水位编辑列

                base.SetColumnEditStyle(listHeader.IndexOf(CS_A10), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_B10), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_C10), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_D10), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_M10), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_N10), GenerateColumnStype());

                // 设置A20,B20,C20,D20的编辑列
                base.SetColumnEditStyle(listHeader.IndexOf(CS_A20), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_B20), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_C20), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_D20), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_M20), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_N20), GenerateColumnStype());

                // 设置A30,B30,C30,D30的编辑列
                base.SetColumnEditStyle(listHeader.IndexOf(CS_A30), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_B30), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_C30), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_D30), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_M30), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_N30), GenerateColumnStype());

                // 设置A40,B40,C40,D40的编辑列
                base.SetColumnEditStyle(listHeader.IndexOf(CS_A40), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_B40), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_C40), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_D40), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_M40), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_N40), GenerateColumnStype());

                // 设置A60,B60,C60,D60的编辑列
                base.SetColumnEditStyle(listHeader.IndexOf(CS_A60), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_B60), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_C60), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_D60), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_M60), GenerateColumnStype());
                base.SetColumnEditStyle(listHeader.IndexOf(CS_N60), GenerateColumnStype());

                DataGridViewTextBoxColumn gsmNumber = new DataGridViewTextBoxColumn();
                base.SetColumnEditStyle(listHeader.IndexOf(CS_Gsm), gsmNumber);

                //// 设置GPRS号码,北斗卫星终端号,北斗卫星成员号的编辑列
                DataGridViewTextBoxColumn gprsNumber = new DataGridViewTextBoxColumn();
                base.SetColumnEditStyle(listHeader.IndexOf(CS_Gprs), gprsNumber);

                DataGridViewTextBoxColumn beidouNumber = new DataGridViewTextBoxColumn();
                base.SetColumnEditStyle(listHeader.IndexOf(CS_BDsatellite), beidouNumber);

                DataGridViewTextBoxColumn beidouMemberNumber = new DataGridViewTextBoxColumn();
                base.SetColumnEditStyle(listHeader.IndexOf(CS_BDmember), beidouMemberNumber);


                //主信道,备信道,通信协议
                XmlDocManager.Instance.ReadFromXml();
                m_dllCollections = Protocol.Manager.XmlDocManager.Instance.DllInfo;
                var MaintranNumber = new DataGridViewComboBoxColumn();
                var SubtranNumber  = new DataGridViewComboBoxColumn();
                MaintranNumber.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
                SubtranNumber.DisplayStyle  = DataGridViewComboBoxDisplayStyle.Nothing;
                foreach (XmlDllInfo info in m_dllCollections.Infos)
                {
                    //  不显示已经被禁用的协议
                    if (!info.Enabled)
                    {
                        continue;
                    }
                    // 显示信道协议
                    if (info.Type == "channel")
                    {
                        //   m_mapChannelInfo.Add(info.Name, info);
                        MaintranNumber.Items.Add(info.Name);
                        SubtranNumber.Items.Add(info.Name);
                        // comb_PrepareRoad.Items.Add(info.Name);
                    }
                }
                SubtranNumber.Items.Add("无");
                MaintranNumber.Items.Add("未知通讯协议");
                SubtranNumber.Items.Add("未知通讯协议");


                base.SetColumnEditStyle(listHeader.IndexOf(CS_Maintran), MaintranNumber);
                base.SetColumnEditStyle(listHeader.IndexOf(CS_Subtran), SubtranNumber);

                var DataprotocolNumber = new DataGridViewComboBoxColumn();
                DataprotocolNumber.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
                m_listProtocolData = XmlDocManager.Instance.DataProtocolNames;
                for (int i = 0; i < m_listProtocolData.Count; i++)
                {
                    DataprotocolNumber.Items.Add(m_listProtocolData[i]);
                }
                base.SetColumnEditStyle(listHeader.IndexOf(CS_Dataprotocol), DataprotocolNumber);

                var ReportintervalNumber = new DataGridViewComboBoxColumn();
                ReportintervalNumber.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
                ReportintervalNumber.Items.Add("1");
                ReportintervalNumber.Items.Add("4");
                ReportintervalNumber.Items.Add("8");
                ReportintervalNumber.Items.Add("12");
                ReportintervalNumber.Items.Add("24");
                ReportintervalNumber.Items.Add("48");
                base.SetColumnEditStyle(listHeader.IndexOf(CS_Reportinterval), ReportintervalNumber);
                ////// 设置删除列的宽度
                //////this.Columns[0].Width = 15; //删除列宽度为20
            }
            else
            {
            }
        }
 /// <summary>
 /// 初始化数据源,连接数据库
 /// </summary>
 /// <param name="proxy"></param>
 public void InitDataSource(ISoilStationProxy proxy)
 {
     m_proxyStation     = CDBDataMgr.GetInstance().GetStationProxy();
     m_proxySoilStation = proxy;
     m_listSubCenter    = CDBDataMgr.GetInstance().GetAllSubCenter();
 }