for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if( dataGridView1.Rows[i].Cells[0].EditedFormattedValue.ToString().Equals("True") )
{
dataGridView1.Rows.RemoveAt(i);
}
}
发现有些选中不能删除.在多执行几次才行
{
if( dataGridView1.Rows[i].Cells[0].EditedFormattedValue.ToString().Equals("True") )
{
dataGridView1.Rows.RemoveAt(i);
}
}
发现有些选中不能删除.在多执行几次才行
解决方案 »
- WPF中,如何给Grid的某个位置,如(1,3)这个位置,动态地插入添加和删除控件.
- c# 16进制 转换 问题
- 哪位大侠有用C#完全模仿XP标准计算器(不是科学计算器)的代码,功能都不能少
- C#中如何将输入的字符串识别为(转化为)程序语句
- WinForm如何将光标定位在DataGridView的某个单元格上
- odbcConnection1.GetSchema出错信息!!!在线等
- 如何提高运行速度呢
- 如何安装IIS和FRONTPAGE SERVER?? 是要下载个软件吗?
- 怎么知道机器是否安装了.NET FrameWork? 不要告诉我从安装在机器上的目录来看。
- 写一个PDF文件
- 求一正则表达式
- 高手帮详细解答下面试题
{
if( dataGridView1.Rows[i].Cells[0].EditedFormattedValue.ToString().Equals("True") )
{
dataGridView1.Rows.RemoveAt(i);
i--;
}
}
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if( dataGridView1.Rows[i].Cells[0].EditedFormattedValue.ToString().Equals("True") )
{
lrs.Add(dataGridView1.Rows[i]);
}
}
for (int i = 0; i < lrs.Count; i++)
{
dataGridView1.Rows.Remove(lrs[i]);
}
for (int i = dataGridView1.Rows.Count-1; i >=0 ; i--)
{
if (dataGridView1.Rows[i].Cells[0].EditedFormattedValue.ToString().Equals("True"))
{
dataGridView1.Rows.RemoveAt(i);
}
} 正确的删除顺序是从后向前删除,原因自己想下就出来了。
for (int i = dataGridView1.Rows.Count; i > 0; i--)
{
if( dataGridView1.Rows[i-1].Cells[0].EditedFormattedValue.ToString().Equals("True") )
{
dataGridView1.Rows.RemoveAt(i);
}
}
一句话搞定。
while (i < dataGridView1.Rows.Count)
{
if (dataGridView1.Rows[i].Cells[0].EditedFormattedValue.ToString().Equals("True"))
dataGridView1.Rows.RemoveAt(i);
else
i++;
}