我有DataGridView绑定数据表我有相同的复选框。
我想导航或遍历datagridview并勾选这些复选框,下面是我使用的语法。
foreach(DataGridViewRow dr in dgvColumns.Rows)
{
DataGridViewCheckBoxCell checkCell =
(DataGridViewCheckBoxCell)dr.Cells["CheckBoxes"];
checkCell.Value=1;
//Also tried checkCell.Selected=true;
//Nothing seems to have worked.!
}
答案 0 :(得分:11)
以下对我有用,它完美地检查了复选框:)
foreach (DataGridViewRow row in dgvDataGridView.Rows)
{
((DataGridViewCheckBoxCell)row.Cells[0]).Value = true;
}
答案 1 :(得分:3)
如果绑定到DataTable
,您是否可以不使用模型(表格)? DataGridView
是一个视图......
尝试循环遍历表中的行,设置值。例如(下方) - 请注意,我不会更新DataGridView
- 只更新DataTable
:
using System;
using System.Data;
using System.Windows.Forms;
static class Program
{
[STAThread]
static void Main()
{
DataTable table = new DataTable();
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Selected", typeof(bool));
table.Rows.Add("Fred", false);
table.Rows.Add("Jo", false);
table.Rows.Add("Andy", true);
Button btn = new Button();
btn.Text = "Select all";
btn.Dock = DockStyle.Bottom;
btn.Click += delegate
{
foreach (DataRow row in table.Rows)
{
row["Selected"] = true;
}
};
DataGridView grid = new DataGridView();
grid.Dock = DockStyle.Fill;
grid.DataSource = table;
Form form = new Form();
form.Controls.Add(grid);
form.Controls.Add(btn);
Application.Run(form);
}
}
答案 2 :(得分:1)
有些事情:
foreach(DataGridViewRow dgvr in dgvColumns.Rows)
{
// Get the underlying datarow
DataRow dr = ((DataRowView)dgvr.DataBoundItem).Row;
// Update the appropriate column in the data row.
// Assuming this is your column name in your
// underlying data table
dr["CheckBoxes"] = 1;
}
答案 3 :(得分:1)
选择其值的行不会传递给基础数据源,因此不会保存。数据源是Datatable。它的datagridview问题。
答案 4 :(得分:0)
int getstring(void)
{
char *x;
int i = 0;
x = malloc(sizeof(char) + 1);
char ch;
while ((ch = getchar()) != EOF)
{
x[i] = getchar();
x = realloc(x, sizeof(char) + i + 1);
i++;
}
return *x;
}
这看起来像你所需要的。我对这一切都很陌生,如果我的回答不正确,那就很抱歉。只是想帮忙。