DataGridView循环查找改进加了trycatch去除未将对象引用设置到对象的实例错误
2014-03-25 14:42
429 查看
DataGridView循环查找
2010-03-13 00:10:02| 分类:C#
| 标签: |举报
|字号大中小 订阅
思路:查找匹配项,如果找到则使用下标控制器记录下标,下次查找时则从该下标开始查找,如果从记录的下标处未找到,此时notNull=TRUE,则进入 if (notNull)内,设置下标为0,从而可以从头开始再次查找,同时设置notNull=FALSE,并使用递归开始再次查找,此次查找有两种可能:
1 . 如果再次找到匹配项则notNull被设置为TRUE后直接跳出,重复以上说明
2 . 如果未找到匹配项则notNull未被设置为TRUE,不能进入 if (notNull)调用递归,弹出对话框后函数整体实行完毕
int i = 0; //行的下标控制器 (*****控制从第几行开始遍历*****)
bool notNull = false; //递归控制器 (*****控制是否可调用递归******)
private void button4_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow dr in dgvMessage.SelectedRows) //取消行的选中
{
dr.Selected = false;
}
for (int a = i; a < dgvMessage.Rows.Count; a++) //遍历行
{
foreach (DataGridViewCell dgvc in dgvMessage.Rows[a].Cells) //遍历单元格
{
try{
if (dgvc.Value.ToString().Contains(this.txtName.Text)) //判断是否匹配
{
dgvMessage.Rows[a].Selected = true; //如果匹配则选中该行
dgvMessage.FirstDisplayedScrollingRowIndex = a; //滚动条滑自该行
i = a + 1; //使下次遍历从该行的下一行开始查找
notNull = true;
return; //设置notNull为真,跳出
}
}
catch
{ }
finally
{ }
}
}
if (notNull) //始终未找到匹配项则进入
{
i = 0; //重置从第一行遍历
notNull = false; //设置notNull为假,如果再一次从第一行遍历未找到匹配项则不会再进入IF调用递归
button4_Click(sender, e); //递归
}
else
{
MessageBox.Show("未找到!!");
}
}
相关文章推荐
- Visual Studio 2015 新建项目"未将对象引用设置到对象的实例"错误 解决办法
- dataGridView的未将对象引用设置到对象的实例
- 使用FindControl出现未将对象引用设置到对象的实例 错误的解决办法
- 重复定义造成未将对象引用设置到对象的实例错误
- ashx页面中 Session值出现“未将对象引用设置到对象的实例”错误
- FineUi 表格控件 [NullReferenceException: 未将对象引用设置到对象的实例错误
- url重写(urlrewriter)引起的"未将对象引用设置到对象的实例"错误发生的原因
- Slider 控件“未将对象引用设置到对象的实例”错误解决方案(转)
- DataGridView导入Excel时,出现了“未将对象引用设置到对象的实例”的解决办法
- dataGridView控件--未将对象引用设置添加到对象的实例
- dataGridView控件--未将对象引用设置添加到对象的实例
- System.NullReferenceException:未将对象引用设置到对象的实例,这是一个新鸟,中鸟,老鸟都避不开的错误
- 解决使用DevExpress开发错误:未将对象引用设置到对象的实例
- System.NullReferenceException:未将对象引用设置到对象的实例,这是一个新鸟,中鸟,老鸟都避不开的错误
- datagrid中DropDownList绑定Dataset 的探究 未将对象引用设置到对象的实例 错误
- VS2017错误:未将对象引用设置到对象的实例
- C#程序中报“未将对象引用设置到对象的实例” 错误
- Silverlight Slider 控件“未将对象引用设置到对象的实例”错误解决方案
- Web页面设计时提示"创建控件出错,未将对象引用设置到对象的实例”的错误解决办法
- C# 关于“未将对象引用设置到对象的实例。”错误