Example #1
0
 private void LoadData()
 {
     XmlDocManager.Instance.ReadFromXml();
     m_dllCollections    = Protocol.Manager.XmlDocManager.Instance.DllInfo;
     m_dllCollectionsBak = m_dllCollections.Clone() as XmlDllCollections;
     Init(); //初始化
 }
Example #2
0
            private static void delnode()
            {
                var m_dllCollections = Protocol.Manager.XmlDocManager.Deserialize();
                XmlDllCollections m_dllCollections_1 = new XmlDllCollections();

                foreach (XmlDllInfo info in m_dllCollections.Infos)
                {
                    ////  不显示已经被禁用的协议
                    //if (!info.Enabled)
                    //    continue;
                    // 每一个类,以及实现的接口

                    // 显示信道协议
                    if (info.Type == "channel")
                    {
                        if (string.IsNullOrEmpty(info.BaseDir) ||
                            string.IsNullOrEmpty(info.FileName) ||
                            !File.Exists(info.BaseDir + "\\" + info.FileName) ||
                            info.Members.Count <= 0)
                        {
                        }
                        else
                        {
                            m_dllCollections_1.Infos.Add(info);
                        }
                    }
                    else
                    {
                        // 显示数据协议
                        if (info.Type == "data")
                        {
                            if (string.IsNullOrEmpty(info.BaseDir) ||
                                string.IsNullOrEmpty(info.FileName) ||
                                !File.Exists(info.BaseDir + "\\" + info.FileName) ||
                                info.Members.Count <= 0)
                            {
                            }
                            else
                            {
                                m_dllCollections_1.Infos.Add(info);
                            }
                        }
                    }
                }


                XmlDocManager.Instance.DllInfo = m_dllCollections_1;
                XmlDocManager.Instance.WriteToXml();
            }
Example #3
0
 private void tsButRevert_Click(object sender, EventArgs e)
 {
     // 判断是否做了修改
     if (!IsChanged(m_dllCollections, m_dllCollectionsBak))
     {
         // 如果没做修改,就不需要撤销
         // 在判断是否属于添加模式,如果是的话, 提示
         if (panel4ChannelAdd.Visible == true || panel4DataAdd.Visible == true)
         {
             if (MessageBox.Show("确定要取消添加?", "撤销", MessageBoxButtons.YesNo) == DialogResult.Yes)
             {
                 if (m_bIsInChannelType)
                 {
                     ResetChannelPanel();
                 }
                 else
                 {
                     ResetDataPanel();
                 }
                 SetModified(false);
                 Init(); //初始化
             }
         }
         else
         {
             MessageBox.Show("没做任何修改,无需撤销");
         }
         return;
     }
     if (MessageBox.Show("确定要撤销已修改的配置信息?", "撤销修改", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         // 菜单栏上面的撤销按钮
         if (m_bIsInChannelType)
         {
             ResetChannelPanel();
         }
         else
         {
             ResetDataPanel();
         }
         SetModified(false);
         m_dllCollections = m_dllCollectionsBak.Clone() as XmlDllCollections;
         Init(); //初始化
     }
 }
Example #4
0
        public void InitUI()
        {
            try
            {
                //// 初始化分中心
                for (int i = 0; i < m_listSubCenter.Count; ++i)
                {
                    cmb_SubCenter.Items.Add(m_listSubCenter[i].SubCenterName);
                }
                cmb_SubCenter.SelectedIndex = 0;
                // 初始化站点类型
                cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.EHydrology));
                cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.EH));
                cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.RE));
                cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.RP));
                cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.GT));
                cmb_StationType.SelectedIndex = 0;

                // 初始化雨量精度
                cmb_RainAccuracy.Items.Add("0.1");
                cmb_RainAccuracy.Items.Add("0.2");
                cmb_RainAccuracy.Items.Add("0.5");
                cmb_RainAccuracy.Items.Add("1.0");
                cmb_RainAccuracy.SelectedIndex = 0;

                //浮子水位、气泡水位、压阻水位、雷达水位

                comb_WaterSensor.Items.Add("浮子水位");
                comb_WaterSensor.Items.Add("气泡水位");
                comb_WaterSensor.Items.Add("压阻水位");
                comb_WaterSensor.Items.Add("雷达水位");
                //  comb_WaterSensor.Items.Add("无");
                comb_WaterSensor.SelectedIndex = 0;

                //翻斗雨量、雨雪量计
                comb_RainSensor.Items.Add("翻斗雨量");
                comb_RainSensor.Items.Add("雨雪量计");
                //  comb_RainSensor.Items.Add("无");
                comb_RainSensor.SelectedIndex = 0;
                //comb_RainSensor.Enabled = false;

                //自报段次
                comb_Paragraph.Items.Add("1");
                comb_Paragraph.Items.Add("4");
                comb_Paragraph.Items.Add("8");
                comb_Paragraph.Items.Add("12");
                comb_Paragraph.Items.Add("24");
                comb_Paragraph.Items.Add("48");
                comb_Paragraph.SelectedIndex = 4;

                //报警信息初始化
                textBox_Voltage.Text = "11";

                //数值参数初始化


                if (cmb_StationType.Text == "雨量站")
                {
                    cmb_RainAccuracy.Enabled = true;
                    cmb_RainAccuracy.Items.Remove("无");
                    cmb_RainAccuracy.SelectedIndex = 2;

                    comb_WaterSensor.Enabled = false;
                    comb_WaterSensor.Items.Add("无");
                    comb_WaterSensor.SelectedIndex = 4;

                    comb_RainSensor.Enabled = true;
                    comb_RainSensor.Items.Remove("无");
                    comb_RainSensor.SelectedIndex = 0;

                    textBox_WaterMin.Enabled = false;
                    //textBox_WaterMin.Text = "0.1";

                    textBox_WaterMax.Enabled = false;
                    //textBox_WaterMax.Text = "100";

                    textBox_WaterChange.Enabled = false;
                    //textBox_WaterChange.Text = "2.2";

                    textBox_RainChange.Enabled = true;
                    textBox_RainChange.Text    = "80.0";

                    textBox_WaterBase.Enabled = false;
                    //textBox_WaterBase.Text = "0.0";
                }

                if (cmb_StationType.Text == "水位站")
                {
                    cmb_RainAccuracy.Enabled = false;
                    cmb_RainAccuracy.Items.Add("无");
                    cmb_RainAccuracy.SelectedIndex = 4;

                    comb_WaterSensor.Enabled = true;
                    comb_WaterSensor.Items.Remove("无");
                    comb_WaterSensor.SelectedIndex = 0;

                    comb_RainSensor.Enabled = false;
                    comb_RainSensor.Items.Add("无");
                    comb_RainSensor.SelectedIndex = 2;

                    textBox_WaterMin.Enabled = true;
                    textBox_WaterMin.Text    = "0";

                    textBox_WaterMax.Enabled = true;
                    textBox_WaterMax.Text    = "100";

                    textBox_WaterChange.Enabled = true;
                    textBox_WaterChange.Text    = "1";

                    textBox_RainChange.Enabled = false;
                    //textBox_RainChange.Text = "20.0";

                    textBox_WaterBase.Enabled = true;
                    textBox_WaterBase.Text    = "0.0";
                }
                if (cmb_StationType.Text == "水文站")
                {
                    cmb_RainAccuracy.Enabled = true;
                    cmb_RainAccuracy.Items.Remove("无");
                    cmb_RainAccuracy.SelectedIndex = 2;

                    comb_WaterSensor.Enabled = true;
                    comb_WaterSensor.Items.Remove("无");
                    comb_WaterSensor.SelectedIndex = 0;

                    comb_RainSensor.Enabled = true;
                    comb_RainSensor.Items.Remove("无");
                    comb_RainSensor.SelectedIndex = 0;

                    textBox_WaterMin.Enabled = true;
                    textBox_WaterMin.Text    = "0";

                    textBox_WaterMax.Enabled = true;
                    textBox_WaterMax.Text    = "100";

                    textBox_WaterChange.Enabled = true;
                    textBox_WaterChange.Text    = "1";

                    textBox_RainChange.Enabled = true;
                    textBox_RainChange.Text    = "80.0";

                    textBox_WaterBase.Enabled = true;
                    textBox_WaterBase.Text    = "0.0";
                }

                textBox_StationID.Text        = "0001";
                textBox_StationName.Text      = "测站1";
                cmb_StationType.SelectedIndex = 0;
                //comb_DataProtocol.Items.Add("辽宁");
                m_listProtocolData = XmlDocManager.Instance.DataProtocolNames;
                for (int i = 0; i < m_listProtocolData.Count; i++)
                {
                    comb_DataProtocol.Items.Add(m_listProtocolData[i]);
                }
                comb_DataProtocol.SelectedIndex = 0;

                XmlDocManager.Instance.ReadFromXml();
                m_dllCollections = Protocol.Manager.XmlDocManager.Instance.DllInfo;
                //10.12
                //comb_MainRoad.Items.Add("Gprs");
                //comb_PrepareRoad.Items.Add("Gprs");
                foreach (XmlDllInfo info in m_dllCollections.Infos)
                {
                    //  不显示已经被禁用的协议
                    if (!info.Enabled)
                    {
                        continue;
                    }
                    // 显示信道协议
                    if (info.Type == "channel")
                    {
                        //   m_mapChannelInfo.Add(info.Name, info);
                        comb_MainRoad.Items.Add(info.Name);
                        comb_PrepareRoad.Items.Add(info.Name);
                    }
                }
                comb_PrepareRoad.Items.Add("无");
                comb_MainRoad.SelectedIndex    = 0;
                comb_PrepareRoad.SelectedIndex = 1;


                //通讯参数初始化
                textBox_GSM.Text = "";
                //textBox_GSM.Enabled = false;

                textBox_GPRS.Text = "";
                //textBox_GPRS.Enabled = false;

                textBox_Beidou.Text    = "";
                textBox_Beidou.Enabled = false;

                textBox_BeidouMember.Text    = "";
                textBox_BeidouMember.Enabled = false;


                if (comb_MainRoad.Text == "SX-GPRS" || comb_PrepareRoad.Text == "SX-GPRS")
                {
                    //通讯参数初始化
                    textBox_GPRS.Enabled = true;
                    textBox_GPRS.Text    = "00000001";
                }
                if (comb_MainRoad.Text == "GSM" || comb_PrepareRoad.Text == "GSM" || comb_MainRoad.Text == "WebGSM" || comb_PrepareRoad.Text == "WebGSM")
                {
                    textBox_GSM.Text    = "13211111111";
                    textBox_GSM.Enabled = true;
                }
                if (comb_MainRoad.Text == "Beidou-Normal" || comb_PrepareRoad.Text == "Beidou-Normal")
                {
                    textBox_Beidou.Text          = "212880";
                    textBox_Beidou.Enabled       = true;
                    textBox_BeidouMember.Text    = "0";
                    textBox_BeidouMember.Enabled = true;
                }
                if (comb_MainRoad.Text == "Beidou-500" || comb_PrepareRoad.Text == "Beidou-500")
                {
                    textBox_Beidou.Text    = "212880";
                    textBox_Beidou.Enabled = true;

                    textBox_BeidouMember.Text    = "0";
                    textBox_BeidouMember.Enabled = true;
                }
                btn_Save.Enabled   = true;
                btn_Revert.Enabled = true;
            }
            catch (Exception ex) { }
        }
Example #5
0
        //private void txtProtocolName_TextChanged(object sender, EventArgs e)
        //{
        //    if (this.listBox_ChannelList.SelectedIndex < 0)
        //        return;
        //    string text = this.txtProtocolName.Text;
        //    if (text != m_currentProtocolName)
        //    {
        //        m_currentProtocolName = text;
        //        SetModified(true);
        //    }
        //}

        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (!listBox_ChannelList.Enabled)
            {
                MessageBox.Show("当前操作不允许删除协议!");
                return;
            }

            if (listBox_ChannelList.SelectedIndex < 0)
            {
                MessageBox.Show("请选择要删除的协议!");
                return;
            }
            // 保存当前所做的修改到内存m_mapChannelInfo
            string channel = listBox_ChannelList.SelectedItem.ToString();

            if (m_mapChannelInfo.ContainsKey(channel))
            {
                m_mapChannelInfo[channel].Enabled = false;
                //if (MessageBox.Show(String.Format("确认删除协议\"{0}\"?", channel), "删除协议", MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK)
                //{
                //    m_bIsDeleteProtocol = true;
                //    m_bModifiedWithoutSave = true;
                //    //this.tsButSave_Click(null, null);

                //}
                if (MessageBox.Show("确定删除" + channel + "?", "删除", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    this.m_mapChannelInfo.Remove(channel);
                    var temp = new XmlDllCollections()
                    {
                        Infos = new XmlDllInfos()
                    };
                    foreach (var item in this.m_dllCollections.Infos)
                    {
                        if (item.Name != channel)
                        {
                            temp.Infos.Add(item);
                        }
                    }
                    this.m_dllCollections = temp;

                    // 初始化界面
                    listBox_ChannelList.Items.Clear();
                    if (m_mapChannelInfo.Count > 0)
                    {
                        foreach (KeyValuePair <string, XmlDllInfo> dll in m_mapChannelInfo)
                        {
                            //  添加合法的协议名称
                            var dllInfo = dll.Value;
                            if (string.IsNullOrEmpty(dllInfo.BaseDir) ||
                                string.IsNullOrEmpty(dllInfo.FileName) ||
                                !File.Exists(dllInfo.BaseDir + "\\" + dllInfo.FileName) ||
                                dllInfo.Members.Count <= 0)
                            {
                                continue;
                            }
                            listBox_ChannelList.Items.Add(dll.Key);
                        }
                    }
                    // 清空cmb的内容
                    textBox_DllFileName.Text = "";
                    textBox_DllPath.Text     = "";
                    cmb_Interfaces.Items.Clear();
                    cmb_ClassNames.Items.Clear();
                    txtProtocolName.Text    = "";
                    txtProtocolName.Enabled = false; //不可用
                    SetModified(false);
                }
            }
        }
Example #6
0
 private bool IsChanged(XmlDllCollections origion, XmlDllCollections bak)
 {
     return(!(origion.Equals(bak)));
 }
Example #7
0
        public void InitUI()
        {
            try
            {
                //// 初始化分中心
                for (int i = 0; i < m_listSubCenter.Count; ++i)
                {
                    cmb_SubCenter.Items.Add(m_listSubCenter[i].SubCenterName);
                }
                cmb_SubCenter.SelectedIndex = 0;

                //ESoil = 3,         //  04墒情站
                //ESoilRain = 4,     //  05墒情雨量站
                //ESoilWater = 5,     //  06,16墒情水位站
                //ESoilHydrology = 6  //  07,17墒情水文站
                // 初始化站点类型
                cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.ESoil));
                //cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.ESoilRain));
                //cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.ESoilWater));
                //cmb_StationType.Items.Add(CEnumHelper.StationTypeToUIStr(EStationType.ESoilHydrology));
                cmb_StationType.SelectedIndex = 0;

                textBox_StationID.Text   = "0001";
                textBox_StationName.Text = "测站1";
                //textBox_deviceNumber.Text = "21208890";
                textBox_Voltage.Text = "11";

                textBox_10a.Text = "1.0000";
                textBox_10b.Text = "2.0000";
                textBox_10c.Text = "3.0000";
                textBox_10d.Text = "4.0000";
                textBox_10m.Text = "1.0000";
                textBox_10n.Text = "2.0000";

                textBox_20a.Text = "1.0000";
                textBox_20b.Text = "2.0000";
                textBox_20c.Text = "3.0000";
                textBox_20d.Text = "4.0000";
                textBox_20m.Text = "1.0000";
                textBox_20n.Text = "2.0000";

                textBox_30a.Text = "1.0000";
                textBox_30b.Text = "2.0000";
                textBox_30c.Text = "3.0000";
                textBox_30d.Text = "4.0000";
                textBox_30m.Text = "1.0000";
                textBox_30n.Text = "2.0000";

                textBox_40a.Text = "1.0000";
                textBox_40b.Text = "2.0000";
                textBox_40c.Text = "3.0000";
                textBox_40d.Text = "4.0000";
                textBox_40m.Text = "1.0000";
                textBox_40n.Text = "2.0000";

                textBox_60a.Text = "1.0000";
                textBox_60b.Text = "2.0000";
                textBox_60c.Text = "3.0000";
                textBox_60d.Text = "4.0000";
                textBox_60m.Text = "1.0000";
                textBox_60n.Text = "2.0000";

                //自报段次
                comb_Paragraph.Items.Add("1");
                comb_Paragraph.Items.Add("4");
                comb_Paragraph.Items.Add("8");
                comb_Paragraph.Items.Add("12");
                comb_Paragraph.Items.Add("24");
                comb_Paragraph.Items.Add("48");
                comb_Paragraph.SelectedIndex = 4;

                //通讯参数初始化
                textBox_GSM.Text    = "";
                textBox_GSM.Enabled = false;

                textBox_GPRS.Text    = "";
                textBox_GPRS.Enabled = false;

                textBox_Beidou.Text    = "";
                textBox_Beidou.Enabled = false;

                textBox_BeidouMember.Text    = "";
                textBox_BeidouMember.Enabled = false;

                m_listProtocolData = XmlDocManager.Instance.DataProtocolNames;
                for (int i = 0; i < m_listProtocolData.Count; i++)
                {
                    comb_DataProtocol.Items.Add(m_listProtocolData[i]);
                }
                comb_DataProtocol.SelectedIndex = 0;

                XmlDocManager.Instance.ReadFromXml();
                m_dllCollections = Protocol.Manager.XmlDocManager.Instance.DllInfo;
                foreach (XmlDllInfo info in m_dllCollections.Infos)
                {
                    //  不显示已经被禁用的协议
                    if (!info.Enabled)
                    {
                        continue;
                    }
                    // 显示信道协议
                    if (info.Type == "channel")
                    {
                        //   m_mapChannelInfo.Add(info.Name, info);
                        comb_MainRoad.Items.Add(info.Name);
                        comb_PrepareRoad.Items.Add(info.Name);
                    }
                }
                comb_PrepareRoad.Items.Add("无");
                comb_MainRoad.SelectedIndex    = 0;
                comb_PrepareRoad.SelectedIndex = 1;

                if (comb_MainRoad.Text == "SX-GPRS" || comb_PrepareRoad.Text == "SX-GPRS")
                {
                    //通讯参数初始化
                    textBox_GPRS.Enabled = true;
                    textBox_GPRS.Text    = "00000001";
                }
                if (comb_MainRoad.Text == "GSM" || comb_PrepareRoad.Text == "GSM")
                {
                    textBox_GSM.Text    = "13211111111";
                    textBox_GSM.Enabled = true;
                }
                if (comb_MainRoad.Text == "Beidou-Normal" || comb_PrepareRoad.Text == "Beidou-Normal")
                {
                    textBox_Beidou.Text          = "212880";
                    textBox_Beidou.Enabled       = true;
                    textBox_BeidouMember.Text    = "0";
                    textBox_BeidouMember.Enabled = true;
                }
                if (comb_MainRoad.Text == "Beidou-500" || comb_PrepareRoad.Text == "Beidou-500")
                {
                    textBox_Beidou.Text    = "212880";
                    textBox_Beidou.Enabled = true;

                    textBox_BeidouMember.Text    = "0";
                    textBox_BeidouMember.Enabled = true;
                }
            }
            catch (Exception ex) { }
        }
        /// <summary>
        /// 设置显示的数据
        /// </summary>
        /// <param name="listSoilStation"></param>
        public void SetSoilStation(List <CEntitySoilStation> listSoilStation)
        {
            base.m_dataTable.Rows.Clear();
            XmlDocManager.Instance.ReadFromXml();
            m_dllCollections = Protocol.Manager.XmlDocManager.Instance.DllInfo;
            List <string> xmlDll = new List <string>();

            foreach (XmlDllInfo info in m_dllCollections.Infos)
            {
                xmlDll.Add(info.Name);
            }
            // 将用户信息显示到表格上
            foreach (CEntitySoilStation station in listSoilStation)
            {
                //var s = CDBDataMgr.Instance.GetStationById(station.StationID);
                string subcerterName  = "";
                int    reportInterval = 24;
                var    s = station;
                // 1103 gm
                //限制分中心名称
                for (int i = 0; i < m_listSubCenter.Count; i++)
                {
                    if (s.SubCenterID == m_listSubCenter[i].SubCenterID)
                    {
                        subcerterName = m_listSubCenter[i].SubCenterName;
                        break;
                    }
                }
                //限制报讯段次
                try
                {
                    int report = int.Parse(s.Reportinterval);
                    if (report == 1 || report == 4 || report == 8 || report == 12 || report == 24 || report == 48)
                    {
                        reportInterval = report;
                    }
                }
                catch (Exception e)
                {
                    reportInterval = 24;
                }
                // 限制主信道
                if (!xmlDll.Contains(s.Maintran))
                {
                    s.Maintran = "未知通讯协议";
                }
                // 限制备用信道
                if (!xmlDll.Contains(s.Subtran) && s.Subtran != "无")
                {
                    s.Subtran = "未知通讯协议";
                }
                if (s.StationType == EStationType.ESoil ||
                    s.StationType == EStationType.ESoilHydrology ||
                    s.StationType == EStationType.ESoilRain ||
                    s.StationType == EStationType.ESoilWater)
                {
                    base.AddRow(new string[]
                    {
                        "False", s.StationID, s.StationName.ToString(),
                        //CEnumHelper.StationTypeToUIStr(s.StationType),m_listSubCenter[int.Parse(s.SubCenterID.ToString())-1].SubCenterName.ToString(),
                        CEnumHelper.StationTypeToUIStr(s.StationType), subcerterName,
                        station.GSM, station.GPRS, station.BDSatellite, station.BDMemberSatellite, station.Maintran, station.Subtran, station.Datapotocol, reportInterval.ToString(),
                        s.VoltageMin.ToString(),
                        station.A10.ToString(), station.B10.ToString(), station.C10.ToString(), station.D10.ToString(), station.M10.ToString(), station.N10.ToString(),
                        station.A20.ToString(), station.B20.ToString(), station.C20.ToString(), station.D20.ToString(), station.M20.ToString(), station.N20.ToString(),
                        station.A30.ToString(), station.B30.ToString(), station.C30.ToString(), station.D30.ToString(), station.M30.ToString(), station.N30.ToString(),
                        station.A40.ToString(), station.B40.ToString(), station.C40.ToString(), station.D40.ToString(), station.M40.ToString(), station.N40.ToString(),
                        station.A60.ToString(), station.B60.ToString(), station.C60.ToString(), station.D60.ToString(), station.M60.ToString(), station.N60.ToString(),
                    }, EDataState.ENormal);
                }
            }
            UpdateDataToUI();
            UpdateSoilStationCount(listSoilStation.Count);
        }
        /// <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
            {
            }
        }