下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第WinForm使用DataGridView实现类似Excel表格的查找替换功能3、如何查找替换
实例化一个DataToolsWindow后对事件进行注册。重点是如何查找,因为替换和查找一样,只要查找到了替换就行了。
查找下一个
大概的思路就是按照【选定】的当前单元格为标记,首先以当前单元格为分界线向下查找,在查找的过程中判断用户选择的是当前列还是整个数据表,如果是当前列只需要按行查找当前列就行了。
如果是整个数据表查找则需要整行的每列都查找,如果查找到选中行查找的列就是找当前列前面的列(后面的列会在向下查找中遍历到),如果不是选中行则整行从第一列开始全部列查找。
同理,向下查找的思路也就出来了。
privatevoidToolsWindow_LookUpHandler(objectsender,EventArgse)
intcurrentRowIndex=dgvPeople.CurrentCell.RowIndex;
intcurrentColumnIndex=dgvPeople.CurrentCell.ColumnIndex;
foreach(DataGridViewRowrowindgvPeople.Rows)
//向下查找
if(row.Index=currentRowIndex)
if(toolsWindow.AllLookup)
//如果是当前选中行则查找后面的列
if(currentRowIndex==row.Index)
foreach(DataGridViewCellcellinrow.Cells)
if(cell.ColumnIndexcurrentColumnIndex)
if(cell.Value!=nullcell.Value.ToString().Contains(toolsWindow.LookupContent))
cell.Selected=true;
dgvPeople.CurrentCell=cell;
return;
else
{//否则从第一列开始查找
foreach(DataGridViewCellcellinrow.Cells)
if(cell.Value!=nullcell.Value.ToString().Contains(toolsWindow.LookupContent))
cell.Selected=true;
dgvPeople.CurrentCell=cell;
return;
else
//字段查找不查找当前因为是查找下一个
if(row.Index==currentRowIndex)
continue;
if(row.Cells[currentColumnIndex].Value!=nullrow.Cells[currentColumnIndex].Value.ToString().Contains(toolsWindow.LookupContent))
row.Cells[currentColumnIndex].Selected=true;
dgvPeople.CurrentCell=row.Cells[currentColumnIndex];
return;
foreach(DataGridViewRowrowindgvPeople.Rows)
//向上查找
if(row.Index=currentRowIndex)
if(toolsWindow.AllLookup)
//如果是当前选中行只查找前面的列
if(currentRowIndex==row.Index)
foreach(DataGridViewCellcellinrow.Cells)
if(cell.ColumnIndexcurrentColumnIndex)
if(cell.Value!=nullcell.Value.ToString().Contains(toolsWindow.LookupContent))
cell.Selected=true;
dgvPeople.CurrentCell=cell;
return;
else
{//否则从第一列开始查找
foreach(DataGridViewCellcellinrow.Cells)
if(cell.Value!=nullcell.Value.ToString().Contains(toolsWindow.LookupContent))
cell.Selected=true;
dgvPeople.CurrentCell=cell;
return;
else
//字段查找不查找当前因为是查找下一个
if(row.Index==currentRowIndex)
continue;
if(row.Cells[currentColumnIndex].Value!=nullrow.Cells[currentColumnIndex].Value.ToString().Contains(toolsWindow.LookupContent))
row.Cells[currentColumn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 18654.14-2026鱼类种质检验第14部分:DNA含量的测定
- GH/T 1491-2025机采籽棉用聚乙烯包装膜
- 养老院洗浴过程中的风险防范措施
- 北京市教育院附中2025-2026学年普通高中第一次联考初三英语试题含解析
- 山西省运城重点达标名校2026届高级初三(卫星班)英语试题含解析
- 西藏日喀则市南木林一中学2025-2026学年初三下学期期末(一模)练习英语试题含解析
- 河北省唐山市滦南县重点达标名校2025-2026学年初三中考强化选填训练(一)语文试题含解析
- ARDS肺保护性通气实践
- 福建省厦门市思明区厦门第一中学2026年中考压轴卷语文试题含解析
- 学期教研工作总结范文
- 2026北京航空航天大学 机械工程及自动化学院聘用编专职事务助理、F岗招聘1人考试备考题库及答案解析
- 网络安全培训教材与教学大纲(标准版)
- 医学人文培训课件
- 学堂在线 雨课堂 学堂云 科研伦理与学术规范 期末考试答案
- 2026年商丘学院单招(计算机)测试模拟题库附答案
- 机场防鸟撞培训大纲
- 医院培训课件:《中医护理文书书写规范》
- 涉外侵权课件
- 国企合规风控培训课件
- 肿瘤科医疗质量与安全管理
- 2025年体育彩票考试题目及答案
评论
0/150
提交评论