DataGridview第一列隐藏

来源:互联网 发布:网络哪方面比较好 编辑:程序博客网 时间:2024/05/21 06:54
        private void filldgv()        {                       dgvDevice.Columns.Clear();            dgvDevice.AutoGenerateColumns = false;            /*GV显示的列*/            Dictionary<string, string> dataText = new Dictionary<string, string>();            dataText.Add("DetailsID", "DetailsID");            dataText.Add("ID", "ID");            dataText.Add("DeviceID", "DeviceID");             foreach (KeyValuePair<string, string> kvp in dataText)            {                    DataGridViewTextBoxColumn dgvc = new DataGridViewTextBoxColumn();                    dgvc.DataPropertyName = kvp.Key;                    dgvc.HeaderText = kvp.Value;                    dgvc.Name = kvp.Key;                    dgvc.SortMode = DataGridViewColumnSortMode.Automatic;                    //dgvc.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;                    dgvc.HeaderCell.Style.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;                    if (kvp.Key == "DetailsID" )                        dgvc.Visible = false;                    dgvDevice.Columns.Add(dgvc);              }        }

写了一个绑定的函数,放在form_load里面一切正常,但是若是放在绑定数据源时,第一列就怎么也隐藏不了,可是,存在多个datagridview,必须在绑定时判断,于是查了很多,感觉这个说的最为靠谱:

DataGridView第一列无法隐藏是因为默认的活动单元格在第一行第一列

所以只需修改这个默认的活动单元格再隐藏,例如

Datagridview.CurrentCell = Datagridview.Rows(0).Cells(1);

Datagridview.Columns[0].Visible = false;

 

自己还想了一个笨方法,但也很好用,就是调一下datagridview中列的显示顺序,把可见列调到第一个,后面的再隐藏,这样在页面上也没有任何区别。

原创粉丝点击