using OTSIncAReportApp.DataOperation.DataAccess; using OTSIncAReportApp.SysMgrTools; using System; using System.Collections; using System.Data; using System.Windows.Forms; namespace OTSIncAReportApp.OTSMgrInfo { public partial class Triangulation_List : Form { #region 全局变量 //private DataTable m_dt_moban = null;//模板列表 //private DataTable m_dt_item_element = null;//各项下包含的元素信息 private frmReportApp m_frmReportApp;//全局对象主窗体对象 Hashtable table; private const string m_TriFilePath = "\\Config\\ProData\\"; private const string m_TriFilename = "DefaultTriTemplateFile.tpf"; #endregion #region 构造函数及窗体加载 public Triangulation_List() { InitializeComponent(); } public Triangulation_List(frmReportApp in_ReportApp) { m_frmReportApp = in_ReportApp; InitializeComponent(); #region 国际化语言 Language lan = new Language(this); table = lan.GetNameTable(this.Name); #endregion } private void Triangulation_List_Load(object sender, EventArgs e) { //设置数据列 Gview_moban.Columns.Add("ID", "ID"); Gview_moban.Columns.Add("Group", "Group"); Gview_moban.Columns.Add("name", "Template"); //增加editButton,修改按钮 DataGridViewLinkColumn editLink = new DataGridViewLinkColumn(); editLink.Text = "Edit";//添加的这列的显示文字,即每行最后一列显示的文字。 editLink.Name = "editLink"; editLink.HeaderText = "Edit";//列的标题 editLink.UseColumnTextForLinkValue = true;//设置editLink.Text文字在列中显示 Gview_moban.Columns.Add(editLink); //增加linkButton,删除按钮 DataGridViewLinkColumn dlink = new DataGridViewLinkColumn(); dlink.Text = "Delete";//添加的这列的显示文字,即每行最后一列显示的文字。 dlink.Name = "delLink"; dlink.HeaderText = "Delete";//列的标题 dlink.UseColumnTextForLinkValue = true;//上面设置的dlink.Text文字在列中显示 Gview_moban.Columns.Add(dlink); //加载样式 SetDataGridStyle(); //绑定数据 BindGView(); Gview_moban.Columns[0].Visible = false; Gview_moban.Columns[1].Visible = false; } #endregion #region 控件事件 private void button1_Click(object sender, EventArgs e) { //添加 Triangulation_Edit te = new Triangulation_Edit(m_frmReportApp, "", ""); if (te.ShowDialog() == DialogResult.OK) { BindGView(); } } private void button2_Click(object sender, EventArgs e) { //返回 this.Close(); } private void Gview_gz_CellClick(object sender, DataGridViewCellEventArgs e) { //点击后,通过模板ID,确定编辑界面对哪个模板进行编辑 //修改删除 if (e.RowIndex < 0) { return; } //获取模板ID string str_mobanid = Gview_moban.Rows[e.RowIndex].Cells[0].Value.ToString(); string str_moban = Gview_moban.Rows[e.RowIndex].Cells[1].Value.ToString(); //删除 if (Gview_moban.Columns[e.ColumnIndex].Name == "delLink") { //先删除,dt表中的记录,然后再删除clr对应底层中的数据 if (MessageBox.Show("Are you sure you want to delete the ternary phase diagram template option?", "Tips", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (str_mobanid != "") { //获取粒级表 string pathe = Application.StartupPath + "\\Config\\ProData\\DefaultTriTemplateFile.tpf"; int ret = XMLoperate.DeleteByAttribute(pathe, "TemplateId", str_mobanid); if (ret == 1) { MessageBox.Show("Delete succeeded!"); } else { MessageBox.Show("Save failed!"); } } BindGView(); } } //修改 if (Gview_moban.Columns[e.ColumnIndex].Name == "editLink") { //先更新表中的记录,然后再跟着更新clr底层中的数据 Triangulation_Edit te = new Triangulation_Edit(m_frmReportApp ,str_moban, str_mobanid); if (te.ShowDialog() == DialogResult.OK) { BindGView(); } } } #endregion #region 自定义函数及方法 /// /// 绑定GridView方法 /// private void BindGView() { Gview_moban.Rows.Clear(); //三元相图模板配置文件 string path = m_frmReportApp.m_rstDataMgr.m_RptConfigFile.TrigTemplateFileFolder + "\\" + m_frmReportApp.m_rstDataMgr.m_RptConfigFile.TriTempFile; DataSet ds = XMLoperate.GetXmlData(path, "XMLData"); DataTable dt = ds.Tables["Member"]; for (int i = 0; i < dt.Rows.Count; i++) { int index = Gview_moban.Rows.Add(); Gview_moban.Rows[index].Cells["ID"].Value = dt.Rows[i]["TemplateId"].ToString(); Gview_moban.Rows[index].Cells["name"].Value = dt.Rows[i]["TemplateName"].ToString(); Gview_moban.Rows[index].Cells["Group"].Value = dt.Rows[i]["Group"].ToString(); } } private void SetDataGridStyle() { #region //设置规则 DataGridView的样式------------------------------ Gview_moban.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; Gview_moban.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; Gview_moban.AllowUserToResizeColumns = false; Gview_moban.AllowUserToResizeRows = false; //改变行的高度; Gview_moban.RowTemplate.Height = 20; //改变标题的高度; Gview_moban.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing; Gview_moban.ColumnHeadersHeight = 20; //禁用排序 for (int i = 0; i < this.Gview_moban.Columns.Count; i++) { this.Gview_moban.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; } //点击选择整行 Gview_moban.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //设置每列的宽度 Gview_moban.Columns[0].Width = 40; Gview_moban.Columns[1].Width = 40; Gview_moban.Columns[2].Width = 180; Gview_moban.Columns[3].Width = 45; Gview_moban.Columns[4].Width = 45; //禁止排序 for (int i = 0; i < Gview_moban.Columns.Count; i++) { Gview_moban.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; } //居中显示 System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; Gview_moban.DefaultCellStyle = dataGridViewCellStyle1; Gview_moban.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //再次重覆禁用拖动表头高度,居然有效果了 Gview_moban.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; #endregion } #endregion } }