/// <summary>
        /// �޸Ľ������
        /// </summary>
        public void UpdateObject()
        {
            //��ȡ�������
            PSP_VolumeBalance obj = FocusedObject;
            bool isresum=false;
            if (obj == null)
            {
                return;
            }

            //���������һ������
            PSP_VolumeBalance objCopy = new PSP_VolumeBalance();
            DataConverter.CopyTo<PSP_VolumeBalance>(obj, objCopy);
            if ((gridView.FocusedColumn.FieldName != "L2"&& gridView.FocusedColumn.FieldName != "L10" && gridView.FocusedColumn.FieldName != "L11")||(gridView.FocusedColumn.FieldName == "L2")&&type!="220")
            {
                //ִ���޸IJ���
                using (FrmPSP_VolumeBalanceDialog dlg = new FrmPSP_VolumeBalanceDialog())
                {
                    dlg.Type = type;
                    dlg.Flag = flag;
                    dlg.List = gridView.DataSource as IList<PSP_VolumeBalance>;
                    dlg.Object = objCopy;   //�󶨸���
                    baseyear = ObjectList[0].Year;
                    dlg.BaseYear = baseyear;
                    if (type == "220")
                    {
                        dlg.xtraTabControl1.TabPages[0].Text = "220ǧ���������ƽ���";
                        dlg.Text = "220ǧ���������ƽ���";
                        dlg.rowL1.Properties.Caption = "�ۺ���߸���";
                        dlg.rowL2.Properties.Caption = "ֱ�ӹ��縺��";
                        dlg.rowL2.Visible = false;
                        dlg.rowL4.Properties.Caption = "��������";
                        //dlg.rowL3.Visible = false;
                      //  dlg.rowL4.Visible = true;
                        dlg.rowL6.Properties.Caption = "����220kV��ѹ�������";
                        dlg.rowL14.Visible = false;
                        dlg.categoryRow1.Visible = false;
                        dlg.categoryRow2.Visible = false;
                        dlg.categoryRow3.Properties.Caption = "��220kV��ѹ���縺��";
                    }
                    else
                        if (type == "35")
                        {
                            dlg.xtraTabControl1.TabPages[0].Text = "35ǧ���������ƽ���";
                            dlg.Text = "35ǧ���������ƽ���";
                            dlg.rowL1.Properties.Caption = "��������";
                            dlg.rowL2.Properties.Caption = "����ƽ�⸺��";
                            dlg.rowL4.Visible = false;
                            dlg.rowL6.Properties.Caption = "����35ǧ���������";
                            dlg.categoryRow1.Properties.Caption = "����ƽ�⸺��";
                            dlg.categoryRow2.Visible = false;
                            dlg.categoryRow3.Properties.Caption = "��35ǧ����ѹ���縺��";

                        }
                    if (dlg.ShowDialog() != DialogResult.OK)
                    {
                        return;
                    }
                    isresum=dlg.IsReSum;
                }
            }
            else
            {
                FrmBalance_Calc FrmBalance = new FrmBalance_Calc();
                FrmBalance.FormTitle = gridView.FocusedColumn.Caption;
                FrmBalance.CtrTitle = gridView.GroupPanelText;
                PSP_VolumeBalance vol = new PSP_VolumeBalance();
                if (gridView.GetRow(gridView.FocusedRowHandle) != null)
                    vol = gridView.GetRow(gridView.FocusedRowHandle) as PSP_VolumeBalance;
                switch (gridView.FocusedColumn.FieldName)
                {
                    case "L2":

                            FrmBalance.FLAG = vol.UID;
                            FrmBalance.TYPE = "1";

                            FrmBalance.DY = type;
                            FrmBalance.ADdRight = AddRight;
                            FrmBalance.EDitRight = EditRight;
                            FrmBalance.DEleteRight = DeleteRight;
                            FrmBalance.PRintRight = PrintRight;
                         break;
                     case "L10":
                         FrmBalance.FLAG = vol.UID;
                         FrmBalance.TYPE = "2";
                         FrmBalance.DY = type;
                         FrmBalance.ADdRight = AddRight;
                         FrmBalance.EDitRight = EditRight;
                         FrmBalance.DEleteRight = DeleteRight;
                         FrmBalance.PRintRight = PrintRight;
                         break;
                    case"L11":
                        FrmBalance.FLAG = vol.UID;
                        FrmBalance.TYPE = "3";
                        FrmBalance.DY = type;
                        FrmBalance.ADdRight = AddRight;
                        FrmBalance.EDitRight = EditRight;
                        FrmBalance.DEleteRight = DeleteRight;
                        FrmBalance.PRintRight = PrintRight;
                        break;
                    default:
                        break;
                }
                if (FrmBalance.FLAG != "")
                {
                    FrmBalance.ShowDialog();
                    objCopy.GetType().GetProperty(gridView.FocusedColumn.FieldName).SetValue(objCopy, FrmBalance.SUM, null);

                }
            }

            //�ø������½������
            DataConverter.CopyTo<PSP_VolumeBalance>(objCopy, obj);

            if (isresum)
            {

                PSP_VolumeBalance ob = new PSP_VolumeBalance();
                ob.TypeID = type;
                ob.Flag = flag;
                IList<PSP_VolumeBalance> list0 = Services.BaseService.GetList<PSP_VolumeBalance>("SelectPSP_VolumeBalanceByTypeID", ob);
                if (list0 != null)
                    if (list0.Count > 0)
                        ob = list0[0];
                if(ob.UID!=obj.UID)
                    Services.BaseService.Update("UpdatePSP_VolumeBalance2", obj);
                reloadsum(ob);
            }
            else
                reloadsum(obj);
            //ˢ�±��
            gridControl.RefreshDataSource();
        }
        /// <summary>
        /// 修改焦点对象
        /// </summary>
        public void UpdateObject()
        {
            //获取焦点对象
            PSP_VolumeBalance obj = FocusedObject;
            bool isresum          = false;

            if (obj == null)
            {
                return;
            }

            //创建对象的一个副本
            PSP_VolumeBalance objCopy = new PSP_VolumeBalance();

            DataConverter.CopyTo <PSP_VolumeBalance>(obj, objCopy);
            if ((gridView.FocusedColumn.FieldName != "L2" && gridView.FocusedColumn.FieldName != "L10" && gridView.FocusedColumn.FieldName != "L11") || (gridView.FocusedColumn.FieldName == "L2") && type != "220")
            {
                //执行修改操作
                using (FrmPSP_VolumeBalanceDialog dlg = new FrmPSP_VolumeBalanceDialog())
                {
                    dlg.Type     = type;
                    dlg.Flag     = flag;
                    dlg.List     = gridView.DataSource as IList <PSP_VolumeBalance>;
                    dlg.Object   = objCopy; //绑定副本
                    baseyear     = ObjectList[0].Year;
                    dlg.BaseYear = baseyear;
                    if (type == "220")
                    {
                        dlg.xtraTabControl1.TabPages[0].Text = "220千伏变电容量平衡表";
                        dlg.Text = "220千伏变电容量平衡表";
                        dlg.rowL1.Properties.Caption = "综合最高负荷";
                        dlg.rowL2.Properties.Caption = "直接供电负荷";
                        dlg.rowL2.Visible            = false;
                        dlg.rowL4.Properties.Caption = "外网供电";
                        //dlg.rowL3.Visible = false;
                        //  dlg.rowL4.Visible = true;
                        dlg.rowL6.Properties.Caption        = "现有220kV降压变电容量";
                        dlg.rowL14.Visible                  = false;
                        dlg.categoryRow1.Visible            = false;
                        dlg.categoryRow2.Visible            = false;
                        dlg.categoryRow3.Properties.Caption = "需220kV降压供电负荷";
                    }
                    else
                    if (type == "35")
                    {
                        dlg.xtraTabControl1.TabPages[0].Text = "35千伏变电容量平衡表";
                        dlg.Text = "35千伏变电容量平衡表";
                        dlg.rowL1.Properties.Caption        = "本区负荷";
                        dlg.rowL2.Properties.Caption        = "本地平衡负荷";
                        dlg.rowL4.Visible                   = false;
                        dlg.rowL6.Properties.Caption        = "现有35千伏变电容量";
                        dlg.categoryRow1.Properties.Caption = "本地平衡负荷";
                        dlg.categoryRow2.Visible            = false;
                        dlg.categoryRow3.Properties.Caption = "需35千伏降压供电负荷";
                    }
                    if (dlg.ShowDialog() != DialogResult.OK)
                    {
                        return;
                    }
                    isresum = dlg.IsReSum;
                }
            }
            else
            {
                FrmBalance_Calc FrmBalance = new FrmBalance_Calc();
                FrmBalance.FormTitle = gridView.FocusedColumn.Caption;
                FrmBalance.CtrTitle  = gridView.GroupPanelText;
                PSP_VolumeBalance vol = new PSP_VolumeBalance();
                if (gridView.GetRow(gridView.FocusedRowHandle) != null)
                {
                    vol = gridView.GetRow(gridView.FocusedRowHandle) as PSP_VolumeBalance;
                }
                switch (gridView.FocusedColumn.FieldName)
                {
                case "L2":


                    FrmBalance.FLAG = vol.UID;
                    FrmBalance.TYPE = "1";

                    FrmBalance.DY          = type;
                    FrmBalance.ADdRight    = AddRight;
                    FrmBalance.EDitRight   = EditRight;
                    FrmBalance.DEleteRight = DeleteRight;
                    FrmBalance.PRintRight  = PrintRight;
                    break;

                case "L10":
                    FrmBalance.FLAG        = vol.UID;
                    FrmBalance.TYPE        = "2";
                    FrmBalance.DY          = type;
                    FrmBalance.ADdRight    = AddRight;
                    FrmBalance.EDitRight   = EditRight;
                    FrmBalance.DEleteRight = DeleteRight;
                    FrmBalance.PRintRight  = PrintRight;
                    break;

                case "L11":
                    FrmBalance.FLAG        = vol.UID;
                    FrmBalance.TYPE        = "3";
                    FrmBalance.DY          = type;
                    FrmBalance.ADdRight    = AddRight;
                    FrmBalance.EDitRight   = EditRight;
                    FrmBalance.DEleteRight = DeleteRight;
                    FrmBalance.PRintRight  = PrintRight;
                    break;

                default:
                    break;
                }
                if (FrmBalance.FLAG != "")
                {
                    FrmBalance.ShowDialog();
                    objCopy.GetType().GetProperty(gridView.FocusedColumn.FieldName).SetValue(objCopy, FrmBalance.SUM, null);
                }
            }

            //用副本更新焦点对象
            DataConverter.CopyTo <PSP_VolumeBalance>(objCopy, obj);

            if (isresum)
            {
                PSP_VolumeBalance ob = new PSP_VolumeBalance();
                ob.TypeID = type;
                ob.Flag   = flag;
                IList <PSP_VolumeBalance> list0 = Services.BaseService.GetList <PSP_VolumeBalance>("SelectPSP_VolumeBalanceByTypeID", ob);
                if (list0 != null)
                {
                    if (list0.Count > 0)
                    {
                        ob = list0[0];
                    }
                }
                if (ob.UID != obj.UID)
                {
                    Services.BaseService.Update("UpdatePSP_VolumeBalance2", obj);
                }
                reloadsum(ob);
            }
            else
            {
                reloadsum(obj);
            }
            //刷新表格
            gridControl.RefreshDataSource();
        }
        /// <summary>
        /// ��Ӷ���
        /// </summary>
        public void AddObject()
        {
            //�����������Ƿ��Ѿ�����
            if (ObjectList == null)
            {
                return;
            }
            //�½�����
            PSP_VolumeBalance obj = new PSP_VolumeBalance();
            obj.TypeID = type;
            obj.Flag = flag;
            //ִ����Ӳ���
            using (FrmPSP_VolumeBalanceDialog dlg = new FrmPSP_VolumeBalanceDialog())
            {
                dlg.Type=type;
                dlg.Flag = flag;
                dlg.List = gridView.DataSource as IList<PSP_VolumeBalance>;
                dlg.IsCreate = true;    //�����½���־
                dlg.Object = obj;
                if (ObjectList.Count>0)
                    baseyear = ObjectList[0].Year;
                dlg.BaseYear = baseyear;
                if (type == "220")
                {
                    dlg.xtraTabControl1.TabPages[0].Text = "220ǧ���������ƽ���";
                    dlg.Text = "220ǧ���������ƽ���";
                    dlg.rowL1.Properties.Caption = "�ۺ���߸���";
                    dlg.rowL2.Properties.Caption = "ֱ�ӹ��縺��";
                    dlg.rowL2.Visible = false;
                    dlg.rowL4.Properties.Caption = "��������";
                    //dlg.rowL3.Visible = false;
                   // dlg.rowL4.Visible = true;
                    dlg.rowL6.Properties.Caption = "����220kV��ѹ�������";
                    dlg.categoryRow1.Visible = false;
                    dlg.categoryRow2.Visible = false;
                    dlg.categoryRow3.Properties.Caption = "��220kV��ѹ���縺��";
                    //dlg.rowL14.Visible = false;

                }
                else
                    if (type == "35")
                    {
                        dlg.xtraTabControl1.TabPages[0].Text = "35ǧ���������ƽ���";
                        dlg.Text = "35ǧ���������ƽ���";
                        dlg.rowL1.Properties.Caption = "��������";
                        dlg.rowL2.Properties.Caption = "����ƽ�⸺��";
                        //dlg.rowL2.Visible = false;
                        //dlg.rowL4.Properties.Caption = "��������";
                        //dlg.rowL3.Visible = false;
                        dlg.rowL4.Visible = false;
                        dlg.rowL6.Properties.Caption = "����35ǧ���������";
                        //dlg.rowL14.Visible = false;

                    }
                if (dlg.ShowDialog() != DialogResult.OK)
                {

                    return;
                }
            }

            //���¶�����뵽������
            ObjectList.Add(obj);
            reloadsum(obj);
            //ˢ�±�񣬲��������ж�λ���¶����ϡ�
            gridControl.RefreshDataSource();
            GridHelper.FocuseRow(this.gridView, obj);
            AddFuHe(obj);
        }
        /// <summary>
        /// 添加对象
        /// </summary>
        public void AddObject()
        {
            //检查对象链表是否已经加载
            if (ObjectList == null)
            {
                return;
            }
            //新建对象
            PSP_VolumeBalance obj = new PSP_VolumeBalance();

            obj.TypeID = type;
            obj.Flag   = flag;
            //执行添加操作
            using (FrmPSP_VolumeBalanceDialog dlg = new FrmPSP_VolumeBalanceDialog())
            {
                dlg.Type     = type;
                dlg.Flag     = flag;
                dlg.List     = gridView.DataSource as IList <PSP_VolumeBalance>;
                dlg.IsCreate = true;                    //设置新建标志
                dlg.Object   = obj;
                if (ObjectList.Count > 0)
                {
                    baseyear = ObjectList[0].Year;
                }
                dlg.BaseYear = baseyear;
                if (type == "220")
                {
                    dlg.xtraTabControl1.TabPages[0].Text = "220千伏变电容量平衡表";
                    dlg.Text = "220千伏变电容量平衡表";
                    dlg.rowL1.Properties.Caption = "综合最高负荷";
                    dlg.rowL2.Properties.Caption = "直接供电负荷";
                    dlg.rowL2.Visible            = false;
                    dlg.rowL4.Properties.Caption = "外网供电";
                    //dlg.rowL3.Visible = false;
                    // dlg.rowL4.Visible = true;
                    dlg.rowL6.Properties.Caption        = "现有220kV降压变电容量";
                    dlg.categoryRow1.Visible            = false;
                    dlg.categoryRow2.Visible            = false;
                    dlg.categoryRow3.Properties.Caption = "需220kV降压供电负荷";
                    //dlg.rowL14.Visible = false;
                }
                else
                if (type == "35")
                {
                    dlg.xtraTabControl1.TabPages[0].Text = "35千伏变电容量平衡表";
                    dlg.Text = "35千伏变电容量平衡表";
                    dlg.rowL1.Properties.Caption = "本区负荷";
                    dlg.rowL2.Properties.Caption = "本地平衡负荷";
                    //dlg.rowL2.Visible = false;
                    //dlg.rowL4.Properties.Caption = "外网供电";
                    //dlg.rowL3.Visible = false;
                    dlg.rowL4.Visible            = false;
                    dlg.rowL6.Properties.Caption = "现有35千伏变电容量";
                    //dlg.rowL14.Visible = false;
                }
                if (dlg.ShowDialog() != DialogResult.OK)
                {
                    return;
                }
            }

            //将新对象加入到链表中
            ObjectList.Add(obj);
            reloadsum(obj);
            //刷新表格,并将焦点行定位到新对象上。
            gridControl.RefreshDataSource();
            GridHelper.FocuseRow(this.gridView, obj);
            AddFuHe(obj);
        }