Tag: datagridviewcheckboxcell

以编程方式取消选中datagridview中的checkboxcolumn

如何以编程方式取消选中datagridview中DataGridViewCheckboxColumn中的所有行? 我可以使用复选框获取正确的值 (bool)row.Cells[CheckBoxColumn.Index].FormattedValue 但那只是一个吸气剂。 我已经尝试使用设置单元格的值 (bool)row.Cells[CheckBoxColumn.Index].value = false 但这不会影响FormattedValue。 我怎么解决这个问题?

如何validation是否已检查DataGridViewCheckBoxCell

我已将数据表绑定到DataGridView ,此数据表有一个名为“Status”的列,其类型为Boolean 。 我可以通过代码将值设置为true或false 。 但是,我无法弄清楚如何检查是否已经检查了给定的行。 这是我试图使用的代码,并且编译它显示错误“指定的强制转换无效”。 任何帮助,将不胜感激。 if (rowIndex >= 0) { var cbxCell = (DataGridViewCheckBoxCell)dgvScan.Rows[rowIndex].Cells[“Status”]; if ((bool)cbxCell.Value) { // Do stuff } else { // Do other stuff } }

如何检查dataGridView checkBox是否被选中?

我是编程和C#语言的新手。 我卡住了,请帮忙。 所以我编写了这段代码(c#Visual Studio 2012): private void button2_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in dataGridView1.Rows) { if (row.Cells[1].Value == true) { // what I want to do } } } 所以我得到以下错误: 运算符’==’不能应用于’object’和’bool’类型的操作数。

初始化网格时,同一DataGridView列中的控件不会呈现

好坏 我在DataGridView列中托管不同的控件。 当我同时添加控件时,我初始化网格控件显示为文本框(BAD)。 如果我在DataGridView初始化后添加控件,则控件正确呈现(GOOD)。 public Form1() { InitializeComponent(); ControlsInGridViewColumn(); //<- renders controls as textboxes } private void button1_Click(object sender, EventArgs e) { ControlsInGridViewColumn(); //<- does correctly render controls } private void ControlsInGridViewColumn() { DataTable dt = new DataTable(); dt.Columns.Add("name"); for (int j = 0; j < 10; j++) { dt.Rows.Add(""); } this.dataGridView1.DataSource = dt; this.dataGridView1.Columns[0].Width […]

DataGridViewCheckBoxCell如何在表单加载期间设置时显示检查

我有一个DataGridView,它从DataTable加载数据,以及DataGridViewCheckBoxCells的未绑定列。 将DataGridView中的行与单独的DataTable与用户已保存的值进行比较,如果匹配,则应检查该行的复选框。 以下是比较值并将复选框值设置为“true”的代码: foreach (int j in selectedObjectives) { foreach (DataGridViewRow r in dgvObjectives.Rows) { if (j == Convert.ToInt32(r.Cells[“ObjectiveID”].Value)) { dgvObjectives.CurrentCell = r.Cells[“Select”]; ((DataGridViewCheckBoxCell)r.Cells[“Select”]).Value = true; //dgvObjectives.InvalidateCell(r.Cells[“Select”]); //dgvObjectives.EndEdit(); //dgvObjectives.CommitEdit(DataGridViewDataErrorContexts.Commit); } if (Convert.ToInt32(r.Cells[“ObjectiveID”].Value) == selectedIndex) { r.Selected = true; } } } 当我在窗体加载private void WQMDrill_Load(object sender, EventArgs e)期间调用方法执行此操作时,值设置正确,但复选框不检查。 但是,在表单完成加载后调用时,代码可以正常工作。 不幸的是,我绝对需要在加载过程中检查这些。 我希望我对我的问题很清楚,对此事的任何帮助都将不胜感激。 如您所见,我试图单独使单元格无效,以及整个DataGridView控件。 我也有 private void dgvObjectives_CurrentCellDirtyStateChanged(object […]

如何知道datagridview中的特定复选框是否已检查?

我有一个gridview,它有2列,一个是文本框列,另一个是复选框列,如何知道选中了哪个复选框。 如图所示,假设选中了任何复选框,我想将相应的文本框值显示给该复选框。 任何人都可以帮助我?我尝试了下面的代码,但我面临的问题是,一旦我点击下一个复选框后显示值,然后显示之前检查的复选框值。 dataGridView1.CellValueChanged += new DataGridViewCellEventHandler(dataGridView1_CellValueChanged); void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { object tempObj = dataGridView1.Rows[e.RowIndex].Cells[1].Value; dataGridView1_CurrentCellDirtyStateChanged(sender, e); if (((e.ColumnIndex) == 1) && ((bool)dataGridView1.Rows[e.RowIndex].Cells[1].Value)) { MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()); } }

隐藏一些datagridview复选框单元格

我有一个datagridview显示贷款的分期付款。 我创建了一个datagridviewcheckbox列,然后我可以选择我想要支付的所有分期付款。 这是datagrid的一个屏幕: 我的问题是我需要禁用付费插件的复选框。 在这种情况下,当“Restante”(剩下要支付的)是= 0 。 我读了一些他们使用paint事件的post没有显示复选框单元格,但我不喜欢那个解决方案。 我想隐藏了复选框单元格,但我不知道是否可以这样做。 多数民众赞成我尝试过: foreach (DataGridViewRow row in dgv_Cuotas.Rows) { if (Convert.ToDecimal(dgv_Cuotas.Rows[row.Index].Cells[17].Value) == 0) { dgv_Cuotas.Rows[row.Index].Cells[16].Visible = false; } } 显然这不起作用,我得到一个编译器错误消息,说该属性是只读的。 有人知道如何将复选框单元设置为不可见吗? 为了以防万一,我附加了DataGridViewCheckboxColumn创建代码: DataGridViewCheckBoxColumn chbox = new DataGridViewCheckBoxColumn(); { chbox.CellTemplate = new DataGridViewCheckBoxCell(); chbox.HeaderText = “”; chbox.Name = “Seleccionar”; chbox.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; chbox.FlatStyle = FlatStyle.Standard; } dgv_Cuotas.Columns.Insert(16, chbox); dgv_Cuotas.Columns[16].DisplayIndex […]

DataGridView CheckBox列不会对基础绑定对象应用更改

我有一个Record对象列表,在DataGridView中作为行。 每个Record都有一个新的bool值Helped 。 果然,这个新值在我的表单中显示为复选标记。 目前的情况是,当选中此框时,它似乎不会更改相应Record的Helped bool的值。 是否需要更改某种只读属性? 如何更改我的表单上的点击作为其DataSource值的变化? 编辑:我找到了System.Windows.Forms.DataGridViewEditMode.EditOnEnter属性,但我仍然没有看到我的Record.Helped属性得到更新。

选中/取消选中datagridview上的复选框

有人可以帮助我为什么它不起作用? 我有一个checkbox ,如果我点击它,这应取消选中datagridview中的所有复选框,这些复选框在包括用户选中复选框之前已经过检查。 这是代码: private void chkItems_CheckedChanged(object sender, EventArgs e) { foreach (DataGridViewRow row in datagridview1.Rows) { DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)row.Cells[1]; if (chk.Selected == true) { chk.Selected = false; } else { chk.Selected = true; } } } 不应选中该复选框。 应该检查。 这是添加的列 DataGridViewCheckBoxColumn CheckboxColumn = new DataGridViewCheckBoxColumn(); CheckBox chk = new CheckBox(); CheckboxColumn.Width = 20; datagridview1.Columns.Add(CheckboxColumn);