嘿嘿,又是我!来吧,开始今天的 分享时间……
公共方法绑定 DataGridView表头,此方法可以通用。
private void dgVColumName(DataGridView dgvper)
{
string showHeads = ",p_name:演出名称,prov:省份,city:城市,area:地区,p_class:类别,P_Time11:演出时间,".ToLower();// 以 ,:, 为一个分组。
foreach (DataGridViewColumn col in dgvper.Columns)
{
int p = showHeads.IndexOf("," + col.Name.ToLower() + ":");
if (p >= 0)
{
dgvper.Columns[col.Name].Visible = true;
dgvper.Columns[col.Name].ReadOnly = true;
string n = showHeads.Substring(p + 1, showHeads.Substring(p + 1).IndexOf(","));
try
{
n = n.Split(':')[1];
}
catch { }
dgvper.Columns[col.Name].HeaderText = n;
}
else
{
dgvper.Columns[col.Name].Visible = false;
}
}
dgvper.Columns.Insert(0, new DataGridViewCheckBoxColumn(false));// 在 第一列中添加 checkbox
dgvper.Columns[0].ReadOnly = false;
dgvper.Columns[0].Width = 20; 控制宽度
}
不知为毛图片成这样了。反正就是绑定了N条数据,每条前面有个 CheckBox而已。下面有个全选的CheckBox
if (chbP1Name.Checked) 全选
{
foreach (DataGridViewRow dr in dgvper.Rows) 遍历DataGridView的每一行
{
((DataGridViewCheckBoxCell)dr.Cells[0]).Value = true; 当前行的 第一个单元格。即CheckBox选中
((DataGridViewCheckBoxCell)dr.Cells[0]).ReadOnly = true; 不可更改选中状态
}
}
else
{
foreach (DataGridViewRow dr in dgvper.Rows)
{
((DataGridViewCheckBoxCell)dr.Cells[0]).ReadOnly = false;
}
}