DataGridview第一列隐藏

        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中列的显示顺序,把可见列调到第一个,后面的再隐藏,这样在页面上也没有任何区别。

    原文作者:渃水
    原文地址: https://blog.csdn.net/yuyang00000/article/details/9795089
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞