| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 | using OTSIncAReportApp.DataOperation.DataAccess;using System;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;//全局对象主窗体对象        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();        }        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("确定是否要删除该三元相图模板选项?", "提示", 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("删除成功!");                        }                        else                        {                            MessageBox.Show("保存失败!");                        }                    }                    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 自定义函数及方法        /// <summary>        /// 绑定GridView方法        /// </summary>        private void BindGView()        {            Gview_moban.Rows.Clear();            //三元相图模板配置文件            string path = m_frmReportApp.m_RptConfigFile.FileFolderTrigTemp + "\\" + m_frmReportApp.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    }}
 |