public void AddDgvTitle(string ColName, string HeaderText, int Width)
        {
            if (_Dgv.Columns.Contains(ColName))
            {
                return;
            }
            DataGridViewColumn colitem = new DataGridViewTextBoxColumn();

            colitem.Name         = colitem.DataPropertyName = ColName;
            colitem.Width        = Width;
            colitem.HeaderText   = HeaderText;
            colitem.DisplayIndex = _Dgv.Columns.Count;
            colitem.ReadOnly     = true;
            colitem.Frozen       = false;
            _Dgv.Columns.Add(colitem);
            HeadColFilter var = HeadColList.Find(a => a.ColName == ColName);

            if (var == null)
            {
                HeadColList.Add(new HeadColFilter()
                {
                    ColName = ColName, FilterStr = ""
                });
                dgvFilterColHeadCell dgvheadercell = new dgvFilterColHeadCell(colitem.HeaderCell, ColFilterType.list.ToString());
                dgvheadercell.AutomaticSortingEnabled = true;
                dgvheadercell.eventFilterEx          += new dgvFilterColHeadCell.delegateFilterEx(dgvheadercell_eventFilterEx);
                colitem.HeaderCell = dgvheadercell;
            }
        }
        private void dgvheadercell_eventFilterEx(string Filterstr, string ColName)
        {
            try
            {
                HeadColFilter var = HeadColList.Find(a => a.ColName == ColName);

                if (var != null)
                {
                    string Filters = string.Empty;
                    var.FilterStr = Filterstr;
                    bool ta = true;
                    foreach (HeadColFilter str in HeadColList)
                    {
                        if (!string.IsNullOrEmpty(str.FilterStr))
                        {
                            if (ta)
                            {
                                Filters = str.FilterStr;
                                ta      = false;
                            }
                            else
                            {
                                Filters = Filters + " AND ( " + str.FilterStr + " )";
                            }
                        }
                    }
                    dataSource.Filter = Filters;
                }
            }
            catch
            {
                dataSource.Filter = "";
            }
        }
        private void InitDgv()
        {
            _Dgv.AllowUserToAddRows        = false; //禁止用户添加行;
            _Dgv.AllowUserToDeleteRows     = false; //禁止用户删除行;
            _Dgv.AllowUserToOrderColumns   = false; //允许用户拖动列顺序;
            _Dgv.EnableHeadersVisualStyles = false; //显示格式;
            _Dgv.AutoGenerateColumns       = false;
            _Dgv.MultiSelect                   = false;
            _Dgv.RowHeadersWidth               = 15;
            _Dgv.BorderStyle                   = BorderStyle.Fixed3D;
            _Dgv.ColumnHeadersHeightSizeMode   = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
            _Dgv.SelectionMode                 = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
            _Dgv.CellMouseDown                += new DataGridViewCellMouseEventHandler(dgv_CellMouseDown);
            _Dgv.CurrentCellDirtyStateChanged += new EventHandler(dgvSelectAll_CurrentCellDirtyStateChanged);
            _Dgv.DataSourceChanged            += new EventHandler(dgv_DataSourceChanged);

            //新增在表头显示行数
            _Dgv.RowPostPaint += _Dgv_RowPostPaint;

            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle = new System.Windows.Forms.DataGridViewCellStyle();
            dataGridViewCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;

            _Dgv.DefaultCellStyle = dataGridViewCellStyle;
            _Dgv.Columns.Clear();
            {
                DataGridViewCheckBoxColumn col = new DataGridViewCheckBoxColumn();
                col.Name         = col.DataPropertyName = dgv_chk_tag;
                col.Width        = 10;
                col.HeaderText   = "";
                col.DisplayIndex = 0;
                col.ReadOnly     = false;
                col.Frozen       = true;
                col.Visible      = _IsCheckBox;
                col.SortMode     = DataGridViewColumnSortMode.Automatic;
                _Dgv.Columns.Add(col);
                HeadColFilter var = HeadColList.Find(a => a.ColName == dgv_chk_tag);
                if (var == null)
                {
                    HeadColList.Add(new HeadColFilter()
                    {
                        ColName = dgv_chk_tag, FilterStr = ""
                    });
                    dgvFilterColHeadCell dgvheadercell = new dgvFilterColHeadCell(col.HeaderCell, ColFilterType.Check.ToString());
                    dgvheadercell.AutomaticSortingEnabled = true;
                    dgvheadercell.eventFilterEx          += new dgvFilterColHeadCell.delegateFilterEx(dgvheadercell_eventFilterEx);
                    col.HeaderCell = dgvheadercell;
                }
            }
        }