//界面初始化 private void Ws_File_Load(object sender, EventArgs e) { #region DataGridView导航... dgvCommon.getNavigationYesNewRows(dgvFile, btn首记录dgv, btn上一记录dgv, btn下一记录dgv, btn尾记录dgv, btn新纪录dgv, UI.Input.BZ_Input.tsmi首记录, UI.Input.BZ_Input.tsmi上一记录, UI.Input.BZ_Input.tsmi下一记录, UI.Input.BZ_Input.tsmi尾记录, UI.Input.BZ_Input.tsmi新纪录, txt行号dgv); #endregion dgvFile.ScrollBars = ScrollBars.Vertical; dgvFile.HScrollBarEx = this.hScrollBar1; panel2.Controls.Add(dgvFile); dgvFile.Dock = DockStyle.Fill; dgvFile.IsMultipleCopy = true; Padding padding = new Padding(); padding.Bottom = 39; this.panel2.Padding = padding; #region DataGridView 事件 this.dgvFile.RowValidating += new System.Windows.Forms.DataGridViewCellCancelEventHandler(this.dgvFile_RowValidating); this.dgvFile.CellValidating += new System.Windows.Forms.DataGridViewCellValidatingEventHandler(this.dgvFile_CellValidating); this.dgvFile.DefaultValuesNeeded += new System.Windows.Forms.DataGridViewRowEventHandler(this.dgvFile_DefaultValuesNeeded); this.dgvFile.CurrentCellChanged += new System.EventHandler(this.dgvFile_CurrentCellChanged); this.dgvFile.CellFormatting += new DataGridViewCellFormattingEventHandler(dgvFile_CellFormatting); this.dgvFile.KeyPress += new KeyPressEventHandler(dgvFile_KeyPress); this.dgvFile.SelectionChanged += new EventHandler(dgvFile_SelectionChanged); #endregion wsFileLoad(); if (PublicClass.CheckContentPermission && !PublicClass.CheckSystemManager) { //验证是否有当前目录的编辑权限 bool check = PermissionInfo_Content.checkPermission(ContentID, PermissionType_Content.编辑); if (!check) { this.dgvFile.ReadOnly = true; this.dgvFile.IsMultipleCopy = false; this.dgvFile.UseShortCut = false; UI.Input.BZ_Input.tsbtnDeleteRow.Enabled = false; UI.Input.BZ_Input.tsmiDelete.Enabled = false; this.btnFileInsert.Enabled = false; } else { UI.Input.BZ_Input.tsbtnDeleteRow.Enabled = true; UI.Input.BZ_Input.tsmiDelete.Enabled = true; } } NewFileNum = Convert.ToInt32(bz_file.getFileNumMax(ContentID)) + 1; }
//DataGridView 添加新数据事件 行验证 private void dgvContent_RowValidating(object sender, DataGridViewCellCancelEventArgs e) { if (dgvContent.IsCurrentRowDirty) { //判断用户是否注册 //没有注册时需要判断是否超出最大录入数量 if ((!PublicClass.IsRegister) && (PublicClass.MaxTestInfoCount(e.RowIndex + 1))) { e.Cancel = true; dgvContent.CancelEdit(); dgvContent.EndEdit(); return; } object ContentID = dgvContent.Rows[e.RowIndex].Cells["目录ID"].Value; object ContentNum = dgvContent.Rows[e.RowIndex].Cells["目录号"].Value; object ContentLimit = dgvContent.Rows[e.RowIndex].Cells["保管期限"].Value; object ContentTypeNum = dgvContent.Rows[e.RowIndex].Cells["科室代号"].Value; object ContentDescrit = dgvContent.Rows[e.RowIndex].Cells["说明"].Value; if (Object.Equals(ContentID, "") || Object.Equals(ContentID, null) || Object.Equals(ContentID, System.DBNull.Value)) { if (Object.Equals(ContentNum, "") || Object.Equals(ContentNum, null) || Object.Equals(ContentNum, System.DBNull.Value)) { MessageBox.Show("目录号不能为空!"); e.Cancel = true; dgvContent.CurrentCell = dgvContent.Rows[e.RowIndex].Cells["目录号"]; } else if (Object.Equals(ContentLimit, "") || Object.Equals(ContentLimit, null) || Object.Equals(ContentLimit, DBNull.Value)) { MessageBox.Show("保管期限不能为空!"); e.Cancel = true; dgvContent.CurrentCell = dgvContent.Rows[e.RowIndex].Cells["保管期限"]; } else { int InsertContent = bz_content.InsertContent(TopClassID, Convert.ToString(ContentNum), Convert.ToString(ContentLimit), Convert.ToString(ContentTypeNum), Convert.ToString(ContentDescrit), BZ_Input.UserID); if (InsertContent != 0) { bz_content.getNodesData(node); lbldgvNum.Text = Convert.ToString(dgvContent.Rows.Count - 1); dgvContent.Rows[e.RowIndex].Cells["目录ID"].Value = InsertContent; } } } else { if (Object.Equals(ContentNum, "") || Object.Equals(ContentNum, null) || Object.Equals(ContentNum, System.DBNull.Value)) { MessageBox.Show("目录号不能为空!"); e.Cancel = true; dgvContent.CurrentCell = dgvContent.Rows[e.RowIndex].Cells["目录号"]; } else if (Object.Equals(ContentLimit, "") || Object.Equals(ContentLimit, null) || Object.Equals(ContentLimit, DBNull.Value)) { MessageBox.Show("保管期限不能为空!"); e.Cancel = true; dgvContent.CurrentCell = dgvContent.Rows[e.RowIndex].Cells["保管期限"]; } else { if (PublicClass.CheckContentPermission && !PublicClass.CheckSystemManager) { bool check = PermissionInfo_Content.checkPermission(Convert.ToInt32(ContentID), PermissionType_Content.编辑); if (!check) { MessageBox.Show("您没有编辑此目录的权限!\t\n\t\n如需修改请与系统管理员联系。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); e.Cancel = true; dgvContent.CancelEdit(); dgvContent.EndEdit(); return; } } bz_content.UpdateContent(Convert.ToInt32(ContentID), Convert.ToString(ContentNum), Convert.ToString(ContentLimit), Convert.ToString(ContentTypeNum), Convert.ToString(ContentDescrit)); bz_content.getNodesData(node); } } } }
//删除行 private void tsdelete_Click(object sender, EventArgs e) { if (click == 1)//页面 { if (txtContentID.Text == string.Empty) { MessageBox.Show("没有要删除的数据,请选择!"); return; } else { DialogResult result = MessageBox.Show("确定要删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result == DialogResult.Yes) { if (PublicClass.CheckContentPermission && !PublicClass.CheckSystemManager) { bool check = PermissionInfo_Content.checkPermission(Convert.ToInt32(txtContentID.Text), PermissionType_Content.编辑); if (!check) { MessageBox.Show("您没有编辑此目录的权限!\t\n\t\n如需修改请与系统管理员联系。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); dgvContent.CancelEdit(); dgvContent.EndEdit(); return; } } bool delRows = bz_content.DeleteContent(Convert.ToInt32(txtContentID.Text)); if (delRows == true) { MessageBox.Show("删除成功!"); ds = bz_content.getData(TopClassID); dgvContent.DataSource = ds.Tables[0]; table = ds.Tables[0]; lblNum.Text = Convert.ToString(dgvContent.Rows.Count - 1); bz_content.getNodesData(node); PageBtnClick(Convert.ToInt32(txt行号Card.Text)); } else { MessageBox.Show("删除失败!"); return; } } } } else//DataGridView { dgvContent.CancelEdit(); dgvContent.EndEdit(); if (dgvContent.SelectedRows.Count > 0) { DialogResult result = MessageBox.Show("确定要删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result == DialogResult.Yes) { for (int i = 0; i < dgvContent.SelectedRows.Count; i++) { object contID = dgvContent.Rows[dgvContent.SelectedRows[i].Index].Cells["目录ID"].Value; if (PublicClass.CheckContentPermission && !PublicClass.CheckSystemManager) { bool check = PermissionInfo_Content.checkPermission(Convert.ToInt32(contID), PermissionType_Content.编辑); if (!check) { MessageBox.Show("您没有编辑此目录的权限!\t\n\t\n如需修改请与系统管理员联系。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); dgvContent.CancelEdit(); dgvContent.EndEdit(); return; } } if (Object.Equals(contID, "") || Object.Equals(contID, null) || Object.Equals(contID, DBNull.Value)) { continue; } else { bz_content.DeleteContent(Convert.ToInt32(contID)); } } MessageBox.Show("删除成功!"); ds = bz_content.getData(TopClassID); dgvContent.DataSource = ds.Tables[0]; table = ds.Tables[0]; lbldgvNum.Text = Convert.ToString(dgvContent.Rows.Count - 1); bz_content.getNodesData(node); if (dgvContent.Rows.Count == 1) { txt行号dgv.Text = "1"; } else { txt行号dgv.Text = Convert.ToString(dgvContent.CurrentCell.RowIndex + 1); } } } else { MessageBox.Show("请选择要删除的行!"); } } }
//行验证事件 private void dgvClass_RowValidating(object sender, DataGridViewCellCancelEventArgs e) { if (dgvClass.IsCurrentRowDirty) { Object objClassName = dgvClass.Rows[e.RowIndex].Cells["类目"].Value; Object objZLR = dgvClass.Rows[e.RowIndex].Cells["整理人"].Value; Object objJCR = dgvClass.Rows[e.RowIndex].Cells["检查人"].Value; Object objInTime = dgvClass.Rows[e.RowIndex].Cells["归档时间"].Value; Object objTypeNum = dgvClass.Rows[e.RowIndex].Cells["科室代号"].Value; if (Object.Equals(objClassName, "") || Object.Equals(objClassName, null) || Object.Equals(objClassName, System.DBNull.Value)) { MessageBox.Show("类目不能为空!"); e.Cancel = true; dgvClass.CurrentCell = dgvClass.Rows[e.RowIndex].Cells["类目"]; return; } string Limit = yNode.Parent.Text; string Year = yNode.Text; string ClassName = objClassName.ToString(); string ZLR = objZLR.ToString(); string JCR = objJCR.ToString(); string InTime = objInTime.ToString(); string TypeNum = objTypeNum.ToString(); InTime = PublicClass.filterDateTime(InTime); //验证类目ID是否为空,为空时执行添加新数据 Object objClassID = dgvClass.Rows[e.RowIndex].Cells["类目ID"].Value; if (Object.Equals(objClassID, "") || Object.Equals(objClassID, null) || Object.Equals(objClassID, System.DBNull.Value)) { int resultID = Gd_class.CreateClass(TopClassID, Limit, Year, ClassName, ZLR, JCR, InTime, TypeNum); if (resultID > 0) { dgvClass.Rows[e.RowIndex].Cells["类目ID"].Value = resultID; } else { MessageBox.Show("添加类目时出现系统错误,添加失败!"); e.Cancel = true; dgvClass.CancelEdit(); } RowCount++; lbldgvRowCount.Text = Convert.ToString(RowCount); Gd_class.LoadClassNodes(yNode, TopClassID, yNode.Parent.Text, yNode.Text); } else { if (PublicClass.CheckContentPermission && !PublicClass.CheckSystemManager) { bool check = PermissionInfo_Content.checkPermission_GD(Convert.ToInt32(objClassID), PermissionType_Content.编辑); if (!check) { MessageBox.Show("您没有编辑此目录的权限!\t\n\t\n如需修改请与系统管理员联系。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); e.Cancel = true; dgvClass.CancelEdit(); dgvClass.EndEdit(); return; } } bool update = Gd_class.updateAllClass((int)objClassID, ClassName, ZLR, JCR, InTime, TypeNum); if (!update) { MessageBox.Show("修改类目时出现系统错误,添加失败!"); } } } }
//删除委托事件 private void TsDelete_Click(object sender, EventArgs e) { if (pnlClass.Visible)//页面 { if (txtClassID.Text == string.Empty) { MessageBox.Show("没有要删除的数据,请选择!"); } else { DialogResult result = MessageBox.Show("删除类目会同时删除类目下的文件及原件,确认要删除此类目吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result == DialogResult.Yes) { if (PublicClass.CheckContentPermission && !PublicClass.CheckSystemManager) { bool check = PermissionInfo_Content.checkPermission_GD(Convert.ToInt32(txtClassID.Text), PermissionType_Content.编辑); if (!check) { MessageBox.Show("您没有编辑此目录的权限!\t\n\t\n如需修改请与系统管理员联系。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); dgvClass.CancelEdit(); dgvClass.EndEdit(); return; } } bool delRows = Gd_class.DeleteClass(Convert.ToInt32(txtClassID.Text)); if (delRows == true) { MessageBox.Show("删除成功!"); ds = Gd_class.getClassList(TopClassID, yNode.Parent.Text, yNode.Text); dgvClass.DataSource = ds.Tables[0]; table = ds.Tables[0]; RowCount = dgvClass.Rows.Count - 1; lblRowCount.Text = Convert.ToString(RowCount); Gd_class.LoadClassNodes(yNode, TopClassID, yNode.Parent.Text, yNode.Text); PageBtnClick(Convert.ToInt32(txt行号Card.Text)); } else { MessageBox.Show("删除类目时出现系统错误,删除失败!"); } } } } else//DataGridView { dgvClass.CancelEdit(); dgvClass.EndEdit(); if (dgvClass.SelectedRows.Count > 0) { DialogResult result = MessageBox.Show("删除类目会同时删除类目下的文件及原件,确认要删除此类目吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result == DialogResult.Yes) { for (int i = 0; i < dgvClass.SelectedRows.Count; i++) { object classID = dgvClass.Rows[dgvClass.SelectedRows[i].Index].Cells["类目ID"].Value; if (PublicClass.CheckContentPermission && !PublicClass.CheckSystemManager) { bool check = PermissionInfo_Content.checkPermission_GD(Convert.ToInt32(classID), PermissionType_Content.编辑); if (!check) { MessageBox.Show("您没有编辑此目录的权限!\t\n\t\n如需修改请与系统管理员联系。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); dgvClass.CancelEdit(); dgvClass.EndEdit(); return; } } if (!Object.Equals(classID, null) && !Object.Equals(classID, DBNull.Value)) { bool delRows = Gd_class.DeleteClass(Convert.ToInt32(classID)); if (!delRows) { MessageBox.Show("删除类目时出现系统错误,删除失败!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information); return; } } } ds = Gd_class.getClassList(TopClassID, yNode.Parent.Text, yNode.Text); dgvClass.DataSource = ds.Tables[0]; table = ds.Tables[0]; RowCount = dgvClass.Rows.Count - 1; lbldgvRowCount.Text = Convert.ToString(RowCount); Gd_class.LoadClassNodes(yNode, TopClassID, yNode.Parent.Text, yNode.Text); if (dgvClass.Rows.Count == 1) { txt行号dgv.Text = "1"; } else { txt行号dgv.Text = Convert.ToString(dgvClass.CurrentCell.RowIndex + 1); } //DgvBtnClick(Convert.ToInt32(txt行号dgv.Text)); MessageBox.Show("删除成功!"); } } else { MessageBox.Show("请选择要删除的行!"); } } }
/// <summary> /// 加载节点并显示数据 /// (根据节点深度判断加载哪部分节点) /// </summary> /// <param name="xNode"></param> public void Init(TreeNode xNode, SplitContainer sc, out string flag, ref Form tmpForm, int deptID) { flag = ""; int Level = xNode.Level; Control c = sc.Panel2; sc.Panel2.Controls.Clear(); switch (Level) { case 0: flag = "案卷目录信息"; //装载目录节点 int ClassID = int.Parse(xNode.Tag.ToString()); content.getNodesData(xNode); c.Visible = false; LoadContentForm(ClassID, xNode, sc, deptID); c.Visible = true; break; case 1: flag = xNode.Text + " 目录下的案卷级数据"; //装载案卷节点 int ContentID = int.Parse(xNode.Tag.ToString()); file.getFileNodeData(xNode); c.Visible = false; LoadFileForm(ContentID, xNode, sc, deptID); c.Visible = true; break; case 2: flag = xNode.Parent.Text + " - " + xNode.Text + " 案卷下的文件级数据"; ////加载用户控件显示文件列表 int FileID = int.Parse(xNode.Tag.ToString()); //验证是否有原件管理的权限:1.通过案卷目录验证 2.通过一级类目验证 if (PublicClass.CheckContentPermission && !PublicClass.CheckSystemManager) { ContentID = int.Parse(xNode.Parent.Tag.ToString()); if (PermissionInfo_Content.checkPermission(ContentID, PermissionType_Content.原件管理)) { doc.getDocNodeData(xNode); } } else { if (PermissionInfo.checkPermission( Archives.UI.Input.BZ_Input.TopClassID, PermissionType.原件管理)) { doc.getDocNodeData(xNode); } } c.Visible = false; LoadDocForm(FileID, xNode, sc, deptID); c.Visible = true; break; case 3: flag = xNode.Parent.Parent.Text + " - " + xNode.Parent.Text + " - " + xNode.Text + " 文件下的原件"; ////加载用户控件显示文件列表 int DocID = int.Parse(xNode.Tag.ToString()); c.Visible = false; LoadFjForm(DocID, xNode, sc, deptID); c.Visible = true; break; default: break; } }
/// <summary> /// 加载节点并显示数据 /// (根据节点深度判断加载哪部分节点) /// </summary> /// <param name="xNode"></param> public void Init(TreeNode yNode, SplitContainer sc, out string flag, ref Form tmpForm, int DeptID) { flag = ""; int Level = yNode.Level; Control c = sc.Panel2; switch (Level) { case 0: flag = "归档文件"; //装载保管期限节点 int TopClassID = int.Parse(yNode.Tag.ToString()); limit.LoadLimitNodes(yNode, TopClassID); c.Visible = false; LoadLimitForm(TopClassID, sc, yNode, ref tmpForm, DeptID); c.Visible = true; break; case 1: flag = yNode.Text + "档案"; //装载年度节点 TopClassID = int.Parse(yNode.Parent.Tag.ToString()); string Limit = yNode.Text; year.LoadYearNodes(yNode, TopClassID, Limit); c.Visible = false; LoadYearForm(TopClassID, sc, yNode, ref tmpForm); c.Visible = true; break; case 2: flag = yNode.Parent.Text + " - " + yNode.Text + "年度的档案"; //加载用户控件显示文件列表 TopClassID = int.Parse(yNode.Parent.Parent.Tag.ToString()); Limit = yNode.Parent.Text; string Year = yNode.Text; classes.LoadClassNodes(yNode, TopClassID, Limit, Year); c.Visible = false; LoadClassForm(TopClassID, sc, yNode, ref tmpForm, DeptID); c.Visible = true; break; case 3: flag = yNode.Parent.Parent.Text + " - " + yNode.Parent.Text + " - " + yNode.Text + " 类目下的文件级数据"; //加载用户控件显示文件列表 int FileID = int.Parse(yNode.Tag.ToString()); //验证是否有原件管理的权限:1.通过案卷目录验证 2.通过一级类目验证 if (PublicClass.CheckContentPermission && !PublicClass.CheckSystemManager) { int ClassID = int.Parse(yNode.Tag.ToString()); if (PermissionInfo_Content.checkPermission_GD(ClassID, PermissionType_Content.原件管理)) { doc.getDocNodeData(yNode); } } else { if (PermissionInfo.checkPermission( Archives.UI.Input.GD_Input.TopClassID, PermissionType.原件管理)) { doc.getDocNodeData(yNode); } } c.Visible = false; LoadDocForm(FileID, sc, yNode, ref tmpForm, DeptID); c.Visible = true; break; case 4: flag = yNode.Parent.Parent.Parent.Text + " - " + yNode.Parent.Parent.Text + " - " + yNode.Parent.Text + " - " + yNode.Text + " 文件下的原件级数据"; //加载用户控件显示文件列表 int DocID = int.Parse(yNode.Tag.ToString()); c.Visible = false; LoadYjForm(DocID, sc, yNode, ref tmpForm, DeptID); c.Visible = true; break; default: break; } }