private void btnEdit_Click(object sender, EventArgs e)
        {
            if (this.LastControl == dgvInfo)
            {
                switch (this.dgvInfo.Rows.Count)
                {
                case 0:
                    this.LastControl = tvOrganize;
                    return;
                }

                //var frmEditOrganize = new FrmEditOrganize(this.EntityId);
                string tmpId = BasePageLogic.GetDataGridViewEntityId(dgvInfo, PiOrganizeTable.FieldId);
                if (string.IsNullOrEmpty(tmpId))
                {
                    return;
                }
                var frmEditOrganize = new FrmEditOrganize(tmpId);
                if (frmEditOrganize.ShowDialog(this) != DialogResult.OK)
                {
                    return;
                }
                BasePageLogic.FindTreeNode(this.tvOrganize, tmpId);
                var selectedNode = BasePageLogic.TargetNode;
                selectedNode.Text = frmEditOrganize.FullName;
                var oldParentNode = selectedNode.Parent;
                BasePageLogic.FindTreeNode(this.tvOrganize, frmEditOrganize.ParentId);
                var parentNode = BasePageLogic.TargetNode;

                BasePageLogic.EditTreeNode(this.tvOrganize, selectedNode, parentNode);

                this.GetOrganizeList();
                if (this.DTOrganizeList.Rows.Count > 0)
                {
                    this.dgvInfo.FirstDisplayedScrollingRowIndex = this.DTOrganizeList.Rows.Count - 1;
                }
            }
            else
            {
                if (tvOrganize.SelectedNode == null)
                {
                    return;
                }

                var frmEditOrganize = new FrmEditOrganize(this.ParentEntityId);
                if (frmEditOrganize.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                {
                    this.tvOrganize.SelectedNode.Text = frmEditOrganize.FullName;
                    this.GetOrganizeList();
                    if (this.DTOrganizeList.Rows.Count <= 0)
                    {
                        return;
                    }
                    this.dgvInfo.FirstDisplayedScrollingRowIndex = this.DTOrganizeList.Rows.Count - 1;
                }
            }
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            string          returnValue  = string.Empty;
            FrmEditOrganize editOrgznize = null;

            if (this.LastControl == this.tvOrganize)
            {
                editOrgznize = this.ParentEntityId.Length == 0 || this.tvOrganize.SelectedNode == null
                    ? new FrmEditOrganize()
                    : new FrmEditOrganize(this.ParentEntityId, this.tvOrganize.SelectedNode.Text);
            }
            else
            {
                var dataRow = BasePageLogic.GetDataGridViewEntity(this.dgvInfo);
                editOrgznize = dataRow == null ? new FrmEditOrganize() : new FrmEditOrganize(dataRow[PiOrganizeTable.FieldId].ToString(), dataRow[PiOrganizeTable.FieldFullName].ToString());
            }

            if (editOrgznize.ShowDialog(this) != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }
            returnValue = editOrgznize.EntityId;
            var fullName = editOrgznize.FullName;
            var parentId = editOrgznize.ParentId;
            // tvOrganize 中增加结点
            var newNode = new TreeNode();

            newNode.Text = fullName;
            newNode.Tag  = RDIFrameworkService.Instance.OrganizeService.GetDTByIds(UserInfo, new string[] { returnValue }).Rows[0];
            TreeNode parentNode = null;

            if (!string.IsNullOrEmpty(parentId))
            {
                BasePageLogic.FindTreeNode(this.tvOrganize, parentId);
                parentNode = BasePageLogic.TargetNode;
            }
            BasePageLogic.AddTreeNode(this.tvOrganize, newNode, parentNode);
            // 绑定数据
            this.GetOrganizeList();
            this.FormLoaded = false;
            this.BindData(true);
            this.FormLoaded = true;

            if (SystemInfo.ClientCache)
            {
                ClientCache.Instance.DTOrganize = null;
            }

            // 使新增加的数据可见
            if (this.DTOrganizeList.Rows.Count > 0)
            {
                this.dgvInfo.FirstDisplayedScrollingRowIndex = this.DTOrganizeList.Rows.Count - 1;
            }
        }