积极答复者
在Winform DataGridView中,如何将其中的一行的DataGridViewCheckBoxColumn默认设置为选中

问题
答案
-
你好!
能过 DataGridViewRow 可以获取到绑定的数据源行在的行。设置 DataGridViewCell 对应的数据源行上的值更改选中状态。
知识改变命运,奋斗成就人生!- 已标记为答案 KeFang Chen 2010年6月1日 5:18
-
private BindingSource bs; private void BindGrid() { // 表中有三个字段,绑定到 DataGridView 时只显示“编号”与“书名”字段。 DataTable dt = new DataTable(); dt.Columns.Add("Selected", typeof(bool)); dt.Columns.Add("Code", typeof(string)); dt.Rows.Add(new object[] { false, "001" }); dt.Rows.Add(new object[] { false, "002" }); this.dataGridView1.AutoGenerateColumns = false; // 不允许自动创建列 // 添加“编号”与“书名”字段。 DataGridViewCheckBoxColumn col1 = new DataGridViewCheckBoxColumn(); DataGridViewTextBoxColumn col2 = new DataGridViewTextBoxColumn(); col1.HeaderText = "Selected"; col2.HeaderText = "Code"; col1.DataPropertyName = "Selected"; col2.DataPropertyName = "Code"; this.dataGridView1.Columns.Add(col1); this.dataGridView1.Columns.Add(col2); bs = new BindingSource(dt, null); this.dataGridView1.DataSource = bs; // 使用 BindingSource 进行绑定 // 将第一行的 checkBox 选中 DataRowView drv1 = this.dataGridView1.Rows[0].DataBoundItem as DataRowView; drv1["Selected"] = true; bs.ResetCurrentItem(); // 刷新显示 // 获取第二行的选中状态 DataRowView drv2 = this.dataGridView1.Rows[0].DataBoundItem as DataRowView; bool selected = (bool)drv2["Selected"]; MessageBox.Show(selected.ToString()); }
知识改变命运,奋斗成就人生!- 已标记为答案 KeFang Chen 2010年6月1日 5:18
全部回复
-
你好!
能过 DataGridViewRow 可以获取到绑定的数据源行在的行。设置 DataGridViewCell 对应的数据源行上的值更改选中状态。
知识改变命运,奋斗成就人生!- 已标记为答案 KeFang Chen 2010年6月1日 5:18
-
private BindingSource bs; private void BindGrid() { // 表中有三个字段,绑定到 DataGridView 时只显示“编号”与“书名”字段。 DataTable dt = new DataTable(); dt.Columns.Add("Selected", typeof(bool)); dt.Columns.Add("Code", typeof(string)); dt.Rows.Add(new object[] { false, "001" }); dt.Rows.Add(new object[] { false, "002" }); this.dataGridView1.AutoGenerateColumns = false; // 不允许自动创建列 // 添加“编号”与“书名”字段。 DataGridViewCheckBoxColumn col1 = new DataGridViewCheckBoxColumn(); DataGridViewTextBoxColumn col2 = new DataGridViewTextBoxColumn(); col1.HeaderText = "Selected"; col2.HeaderText = "Code"; col1.DataPropertyName = "Selected"; col2.DataPropertyName = "Code"; this.dataGridView1.Columns.Add(col1); this.dataGridView1.Columns.Add(col2); bs = new BindingSource(dt, null); this.dataGridView1.DataSource = bs; // 使用 BindingSource 进行绑定 // 将第一行的 checkBox 选中 DataRowView drv1 = this.dataGridView1.Rows[0].DataBoundItem as DataRowView; drv1["Selected"] = true; bs.ResetCurrentItem(); // 刷新显示 // 获取第二行的选中状态 DataRowView drv2 = this.dataGridView1.Rows[0].DataBoundItem as DataRowView; bool selected = (bool)drv2["Selected"]; MessageBox.Show(selected.ToString()); }
知识改变命运,奋斗成就人生!- 已标记为答案 KeFang Chen 2010年6月1日 5:18