在 DataGridView 的列中搜索值

2024-02-14

我希望用户能够在 DataGridView (dgv) 的列中搜索数字。 dgv 可以保持许多记录。每条记录都有一个项目编号。因此,我希望用户能够在“项目编号”列中搜索项目编号。我的列是: ProjectID(不可见);图片(无标题文本);项目编号;项目名;公司;接触。

这是我的代码:

private void btnSearch_Click(object sender, EventArgs e)
{
    string searchValue = textBox1.Text;
    int rowIndex = -1;

    dgvProjects.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    try
    {
        foreach (DataGridViewRow row in dgvProjects.Rows)
        {
            if (row.Cells[row.Index].Value.ToString().Equals(searchValue))
            {
                rowIndex = row.Index;
                dgvProjects.Rows[row.Index].Selected = true;
                break;
            }
        }
    }
    catch (Exception exc)
    {
        MessageBox.Show(exc.Message);
    }
}

问题#1:到目前为止它所做的事情:用户在 TextBox1 中键入项目编号。当他/她单击该按钮时,代码会在行中搜索该字符串,当找到项目编号时,该行将被选中。它工作正常,但只能一次。当我想搜索其他项目编号时,没有任何反应。

问题#2:我认为可以通过仅搜索“项目名称”列的值来以更好的方式完成此操作。但我应该如何正确地做到这一点呢?

我用来搜索的代码来自这个答案 https://stackoverflow.com/q/10179223/1671161


为什么使用 row.Cells[row.Index]。您需要指定要搜索的列的索引(问题#2)。例如,您需要将 row.Cells[row.Index] 更改为 row.Cells[2],其中 2 是列的索引:

private void btnSearch_Click(object sender, EventArgs e)
{
    string searchValue = textBox1.Text;

    dgvProjects.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    try
    {
        foreach (DataGridViewRow row in dgvProjects.Rows)
        {
            if (row.Cells[2].Value.ToString().Equals(searchValue))
            {
                row.Selected = true;
                break;
            }
        }
    }
    catch (Exception exc)
    {
        MessageBox.Show(exc.Message);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 DataGridView 的列中搜索值 的相关文章

  • 获取 TextBox 中的文本行数

    我试图通过标签显示文本框中的文本行数 但是 问题是如果最后一行为空 标签必须显示没有空行的行号 例如 如果它们有 5 行 最后一行为空 则标签应将行数显示为 4 Thanks private void txt CurrentVinFilte
  • 成员字段、构建顺序

    在 C 中 当执行如下所示的操作时 构造顺序是否得到保证 Logger Logger kFilePath logs runtime log logFile kFilePath 是的 施工顺序始终得到保证 但是 不能保证它与对象在初始值设定项
  • 如何向WebRequest添加参数?

    我需要从 Web 服务调用一个方法 所以我编写了以下代码 private string urlPath http xxx xxx xxx manager string request urlPath index php org get or
  • C++ 中的“int”默认是“signed long int”吗?

    Is int默认情况下signed long int in C 它是否依赖于平台和 或编译器 如果是这样 怎么办 EDIT 以下任何一项是否保证是重复的 signed short int signed int signed long int
  • 何时使用 C++ 私有继承而不是组合?

    你能给我一个具体的例子吗 什么时候使用私有继承优于组合 就我个人而言 我将使用组合而不是私有继承 但在某些情况下 使用私有继承可能是特定问题的最佳解决方案 正在阅读C faq http www parashift com c faq lit
  • 根据 Active Directory 策略检查密码[重复]

    这个问题在这里已经有答案了 我有一个允许用户更改其 AD 密码的前端 有没有办法获取特定用户及其属性 长度 复杂性 的密码策略 例如细粒度 有没有办法根据此特定策略检查字符串 xyz121 编辑 我不想检查活动目录中存储的当前密码 我想检查
  • 为什么 rand() 总是返回相同的值? [复制]

    这个问题在这里已经有答案了 可能的重复 在C中生成随机数 https stackoverflow com questions 3067364 generating random numbers in c 使用 rand 生成随机数 http
  • 从二进制文件读取字节到 long int

    我有两个问题 我有二进制文件的数据 我想使用 read 函数读取前 8 个字节以签署 long int 但我不能 你知道我该怎么做吗 如何直接读取一块数据到字符串中 我可以像所示那样阅读吗 前任 ifstream is is open te
  • 何时分离或加入 boost 线程?

    我有一个方法 大约每 30 秒触发一次 我需要在一个线程中包含它 我有一个可以从类外调用的方法 像 call Threaded Method 这样的东西会创建一个线程 该线程本身会调用最终的线程方法 这些是 MyClass 的方法 void
  • 确定相关词的编程方式?

    使用网络服务或软件库 我希望能够识别与词根相关的单词 例如 座位 和 安全带 共享词根 座位 但 西雅图 不会被视为匹配 简单的字符串比较对于这类事情似乎是不可行的 除了定义我自己的字典之外 是否有任何库或 Web 服务不仅可以返回单词定义
  • Code::Blocks 中的调试似乎不起作用 - 缺少调试符号

    我正在尝试在 Code Blocks 中调试程序 我跟着本指南 http wiki codeblocks org index php title Debugging with Code Blocks and 这个短视频 http www y
  • 动态菜单创建IoC

    我想知道是否有人知道我如何创建如何使用 AutoFac 之类的东西来让我动态地允许 dll 创建自己的表单和菜单项以在运行时调用它们 所以如果我有一个 员工 dll 新入门表格 证书表格 供应商 dll 供应商详细信息来自 产品形态 在我的
  • 如何使 WinForms UserControl 填充其容器的大小

    我正在尝试创建一个多布局主屏幕应用程序 我在顶部有一些按钮链接到应用程序的主要部分 例如模型中每个实体的管理窗口 单击这些按钮中的任何一个都会在面板中显示关联的用户控件 面板包含用户控件 而用户控件又包含用户界面 WinForms User
  • 如何使用“路径”查询 XDocument?

    我想查询一个XDocument给定路径的对象 例如 path to element I want 但我不知道如何继续 您可以使用以下方法System Xml XPath Extensions http msdn microsoft com
  • 使用方法的状态模式

    我正在尝试使用方法作为状态而不是类来基于状态模式的修改版本来实现一个简单的状态机 如下所示 private Action
  • Web API 2.0 使用 pascalcase 模型接收驼峰式命名的 JSON 数据

    我正在尝试对我的 Web API 进行 PUT 调用 我在 WebApiConfig cs 中设置了以下内容 以处理以驼峰形式将数据发送回我的 Web 项目 config Formatters JsonFormatter Serialize
  • 如何创建实体集或模型而不在数据库中创建相应的表 - 实体框架

    我的 sqlserver 数据库中有一个存储过程 它返回多个结果集 我正在使用 msdn 中的以下链接从实体框架中的 SP 读取多个结果集 https msdn microsoft com en us library jj691402 v
  • execlp() 系统调用输出错误

    这个非常简单的例子exec 系统调用 在这里 我试图打电话execlp 两次 但是 我没有得到例外的输出 它仅显示当前目录的第一次调用的输出 include
  • 有没有办法在 C# 中仅通过文件名查找文件?

    我们现在使用绝对路径或相对路径在 C 应用程序中查找文件 如果文件位于当前工作目录下或 路径 之一下 有没有办法仅通过名称查找文件 使用绝对路径不好 使用相对路径也不够好 因为我们可能通过重命名或移动项目文件夹来更改项目结构 如果我们的代码
  • 线程安全的有限大小队列,不使用锁

    我正在尝试编写一个主题队列 但遇到死锁和其他多线程问题 我想用Interlocked CompareExchange避免lock用法 但这段代码并没有按预期工作 它只是擦除整个队列 我在这里做错了什么 public class FixedS

随机推荐

  • 根据列中的范围扩展 pandas 数据框

    我有一个像这样的熊猫数据框 Name SICs Agric 0100 0199 Agric 0910 0919 Agric 2048 2048 Food 2000 2009 Food 2010 2019 Soda 2097 2097 The
  • 如何从命令行运行 db2 sql 命令?

    我怎样才能跑 sql命令UPDATE CONTACT SET EMAIL ADDRESS email protected cdn cgi l email protection 通过命令行 对于 db2 数据库 on linux 来自 she
  • Firefox 中未发送 Ajax 请求,错误未知

    在 Firefox 27 0 1 Fedora 20 jQuery 1 11 0 中执行 GET 同步 ajax 请求时 ajax ajaxParam then function r html r html function jqXHR c
  • 如何覆盖 Vue 组件中的作用域样式?

    让我们保存一下我有一个 Vue我从 Github 上的某个地方获取的组件 我们将其称为 CompB 并为蓝色标头添加一个 CSS 规则集 CompB Vue 我不拥有的依赖项 可能是从 Github 中提取的
  • 默认情况下,SQLite 真的不保留外键约束的数据完整性吗?

    较新版本的 SQLite支持外键约束 https stackoverflow com questions 3297363 implement use foreign keys in sqlite 可以定义 CREATE TABLE MAST
  • 使用 jquery 进行文本框验证

    我是 JQuery 新手 我想使用 jquery 对四个文本框进行验证 我已经完成的编码
  • onClick 函数“this”返回窗口对象

    我的 JavaScript 应用程序遇到了一个令人头疼的问题 如果我写一个这样的元素 li li 我得到 李 但是如果我这样做 li li 其中 foo 是 function foo alert this tagName 我得到 未定义 我
  • 在Python 2.7中编码时如何处理Linux上带空格的路径?

    我有一个 python 脚本 用于处理 Linux Mint 上目录中的文件 部分代码如下 path to dir home user Im a folder with libs to install if os path isdir pa
  • AngularJS http 返回值

    我想在 AngularJS 中编写一个返回值的函数 实际上它是一个字符串 该值是由 http 请求返回的 但异步让我发疯 我的第一次尝试是 this readParameter function key http method GET ur
  • Xamarin Forms - Prism - OnNavigedTo 调用两次

    因此 我已经使用 prism 开发了一个应用程序 2 个月 现在我意识到当我从 MasterDetailPage 中选择一个项目时 OnNavigedTo 方法被调用了两次 我不知道为什么会发生这种情况 我确信我错过了一些东西 但我大约需要
  • 实体框架核心代码优先:多对多关系的级联删除

    我正在使用 Entity Framework Core 版本 EntityFramework Core 7 0 0 rc1 final 由 SQL Server 2012 Express DB 支持 我需要建立一个多对多关系模型Person
  • 5秒后自动滚动页面到div

    我是 javascript 新手 现在我正在尝试这样做 如标题所示 我有一个页面 顶部有一个 div 与包含视频的页面一样大 后面是几个部分 例如这 div style height 100 width 100 div section st
  • IE9 现在会支持 WebSocket 吗?

    这个问题很简单 老话题是here https stackoverflow com questions 3377096 will ie9 support webgl and or websockets 自从 IE9 将于 2011 年 3 月
  • Verilog 中的“net”代表什么?

    我刚刚开始学习Verilog 据我了解 Verilog有net数据类型 什么是net代表 网络就是这样一种数据类型 您不使用它来存储值 它们代表物理连接 您可以将线路视为一种网络数据类型 你可以去网上看看更多here http www ee
  • 使用 KernelClient API 在 ipython 内核中执行代码

    我有一个现有的 ipython 内核 带有一个通信文件 path comm file json 我想使用内核客户端 API 执行该内核中的代码 实际上我并不挑剔 任何方法都可以 我明白这是从 jupyter 做事情的最好方法文档 https
  • 从事神经网络项目[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 神经网络是否需要仅采用二进制训练集
  • Trello 如何如此快速地显示历史记录?

    Trello 显示自论坛成立以来任何用户所做的一切的历史日志 同样 如果您单击特定的卡片 它会显示任何人与该卡片相关的任何操作的历史记录 跟踪无限期保留的每个更改 添加 删除必须收集大量数据 并且还可能成为写入历史记录日志的瓶颈 假设它立即
  • 如何在提交之前做一些事情?

    我有一个表单 其中有一个提交表单的按钮 我需要在提交发生之前做一些事情 我尝试做onClick在该按钮上 但它发生在提交之后 我无法共享代码 但一般来说 我应该在 jQuery 或 JS 中做什么来处理这个问题 如果您有这样的表格
  • c - strcmp 对于相等的字符串不返回 0

    因此 我尝试广泛寻找解决方案 但只能真正找到其中一个字符串缺少新行或空字节的帖子 我相当确定这里的情况并非如此 我正在使用以下函数将单词与包含单词列表的文件进行比较 其中每行一个单词 函数中的字典 这是代码 int isWord char
  • 在 DataGridView 的列中搜索值

    我希望用户能够在 DataGridView dgv 的列中搜索数字 dgv 可以保持许多记录 每条记录都有一个项目编号 因此 我希望用户能够在 项目编号 列中搜索项目编号 我的列是 ProjectID 不可见 图片 无标题文本 项目编号 项