C# 如何从gridview中计算选中的复选框
在我的网格中,我有复选框,在网格外有一个按钮。当我点击按钮时,我只想获得网格中带有复选框的选定行的计数。我们怎么能做到呢 在“我的网格视图动态创建”复选框和其他列中,我有“站点id”列,我需要获取站点id复选框中选中的是什么 我使用这种编码C# 如何从gridview中计算选中的复选框,c#,C#,在我的网格中,我有复选框,在网格外有一个按钮。当我点击按钮时,我只想获得网格中带有复选框的选定行的计数。我们怎么能做到呢 在“我的网格视图动态创建”复选框和其他列中,我有“站点id”列,我需要获取站点id复选框中选中的是什么 我使用这种编码 int count = dataGridView1.Rows.Count; for (int i = 0; i < count; i++) { int j = dataGridView1.SelectedCells[i].RowIndex;
int count = dataGridView1.Rows.Count;
for (int i = 0; i < count; i++)
{
int j = dataGridView1.SelectedCells[i].RowIndex;
clsSaveStatic.SiteID = int.Parse(dataGridView1.Rows[j].Cells[1].Value.ToString();
}
int count=dataGridView1.Rows.count;
for(int i=0;i
最后返回选中的复选框。
但我的要求是我需要的所有检查值都一一对应。您可以参考以下链接
http://stackoverflow.com/questions/1237829/datagridview-checkbox-column-value-and-functionality好的,现在我举一些我以前做过同样工作的代码示例,我的部分代码可能对您有用
private List<int>() GetSiteId()
{
var listIds=new List<int>();
for (int i = 0; i < grid1.RowCount - 1; i++)
{
if (grid1.Rows[i].Cells["SelectCol"].Value != null)
{
bool value = Convert.ToBoolean(grid1.Rows[i].Cells["SelectCol"].Value);
if (value)
{
listId.Add(Convert.ToInt32(grid1.Rows[i].Cells["SiteID"].Value));
}
}
}
return listId;
}
private List()GetSiteId()
{
var listIds=新列表();
对于(int i=0;i
因此,如果value=true,则选中它,您必须循环遍历DataGridView的行,并检查复选框单元格
foreach (DataGridViewRow item in dataGridView1.Rows)
{
//if checkbox is checked
if(Convert.ToBoolean((item.Cells["Chkboxcolname"] as DataGridViewCheckBoxCell).FormattedValue))
// here you can access values based on column names
//item.Cells["Idcolumn"].FormattedValue
}
现在,如果选中该单元格,则当计算为布尔值时,该单元格的值将为true
Dude
以下是我所做的:
将网格中的CellValueChanged事件设置为检查“真/假”值
如果复选框中的值在每次更改时都为true,则此标识将被删除
然后
要“刷新”计数,只需将焦点设置在另一个单元格上。好吧,我发现的唯一方法是在用户检查DGV中的某些内容时发送一个“选项卡”
在DGV的“CellClick”事件中,您将这样做:
SendKeys.Send("{TAB}");
完成了。这是我强制刷新的唯一方法。简单干净,但效果很好
查看它的外观:不确定您想要什么值,所有选中的值都将有值
True
?我需要所有选中的行值。请给出一些其他示例。请帮助我该示例不符合我的要求。因此,请给出另一个示例。它通过行循环并获取选中的值,您真正想要什么?您想要什么你的意思是一个接一个吗?在我的网格视图中,动态绑定我有站点Id列的值,我选中表单中的多个复选框what are check box selected,即我需要的所有站点Id值
SendKeys.Send("{TAB}");