当前位置: 代码迷 >> 综合 >> C#winform的datagridview去除列标头自带的排序,去除初始选中状态,添加自定义checkbox
  详细解决方案

C#winform的datagridview去除列标头自带的排序,去除初始选中状态,添加自定义checkbox

热度:62   发布时间:2024-01-25 10:28:17.0
//去除datagridview列表头排序
foreach (DataGridViewColumn item in dataList.Columns)item.SortMode = DataGridViewColumnSortMode.NotSortable;
//去掉datagridview初始选中行
dataList.ClearSelection();//dataList,datagridview的Name
//遍历datagridview中的行,dataList-datagridview的Name
List<UCCheckBox> ckBox = new List<UCCheckBox>();//checkbox列表
for (int i = -1; i < dataList.Rows.Count; i++)
{UCCheckBox ckBoxNew = new UCCheckBox();//自定义控件checkbox,可以换成你自己的控件ckBoxNew.TextValue = "";ckBoxNew.Checked = false;//给checkBox确定所在行位置Rectangle rect = this.dataList.GetCellDisplayRectangle(-1, i, true);//-1行标题所在列//ckBox.Size = new Size(this.dataGridView1.Columns[0].Width, 28);ckBoxNew.Size = new Size((rect.Width / 2), rect.Height);//ckBox.Location = rect.Location;ckBoxNew.Location = new Point(rect.Left + 16, rect.Top);ckBoxNew.CheckedChangeEvent += new EventHandler(ckBox_CheckedChanged);ckBox.Add(ckBoxNew);this.dataList.Controls.Add(ckBoxNew);//ckBoxNew.Dispose();Application.DoEvents();
}
//说明:datagridview每添加一个控件占用一个句柄,添加过多,容易出错
//datagridview自带的checkbox
DataGridViewCheckBoxColumn columncb = new DataGridViewCheckBoxColumn();
columncb.FlatStyle = FlatStyle.Popup ;
columncb.HeaderText = "?全选";
columncb.Name = "cb_check";
columncb.TrueValue = true;
columncb.FalseValue = false;
columncb.DataPropertyName = "IsChecked";
dataList.Columns.Insert(0, columncb);//dataList--datagridview的Name

 

  相关解决方案