问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#!怎么在DataGridView中进行查询

发布网友 发布时间:2023-08-23 05:01

我来回答

3个回答

热心网友 时间:2024-12-11 16:24

针对DataGridView中已进行过数据绑定,即已向DataGridView中添加了一些数据,可以结合Linq查询,并让匹配查询的行高亮显示,具体实现如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace Maxes_PC_Client {
    public partial class frmWelcome : Form {
        private int beforeMatchedRowIndex = 0;
        public frmWelcome()
        {
            InitializeComponent();
        }
        private void frmWelcome_Load(object sender, EventArgs e) {
            this.dataGridViewInit();
        }
        /// <summary>
        /// DataGridView添加数据、初始化
        /// </summary>
        private void dataGridViewInit() {
            Dictionary<String, String> map = new Dictionary<String, String>();
            map.Add("Lily", "22");
            map.Add("Andy", "25");
            map.Add("Peter", "24");
            // 在这里必须创建一个BindIngSource对象,用该对象接收Dictionary<T, K>泛型集合的对象
            BindingSource bindingSource = new BindingSource();
            // 将泛型集合对象的值赋给BindingSourc对象的数据源
            bindingSource.DataSource = map;
            this.dataGridView.DataSource = bindingSource;
        }
        private void SearchButton_Click(object sender, EventArgs e) {
            if (this.KeyWord.Text.Equals("")) {
                return;
            }
            // Linq模糊查询
            IEnumerable<DataGridViewRow> enumerableList = this.dataGridView.Rows.Cast<DataGridViewRow>();
            List<DataGridViewRow> list = (from item in enumerableList
                                          where item.Cells[0].Value.ToString().IndexOf(this.KeyWord.Text) >= 0
                                          select item).ToList();
            // 恢复之前行的背景颜色为默认的白色背景
            this.dataGridView.Rows[beforeMatchedRowIndex].DefaultCellStyle.BackColor = System.Drawing.Color.White;
            if (list.Count > 0) {
                // 查找匹配行高亮显示
                int matchedRowIndex = list[0].Index;
                this.dataGridView.Rows[matchedRowIndex].DefaultCellStyle.BackColor = System.Drawing.Color.Yellow;
                this.beforeMatchedRowIndex = matchedRowIndex;
            }
        }
    }
}

热心网友 时间:2024-12-11 16:24

string cmd = "select * from 表名 where 查询条件='"+Text.Text+"'";
SqlCommand sql = new SqlCommand(cmd);
sql.Connection = new Connectiong("Data Source=机器名;Initial Catalog=数据库名;Integrated Security=True");
try
{
sql.Connection.Open();
SqlDataAdapter adapter = new SqlDataAdapter();
DataSet DS = new DataSet();

adapter.SelectCommand = sql;
adapter.Fill(DS);
dataGridView1.DataSource = DS.Tables[0];
}
catch (SqlException o)
{
MessageBox.Show(o.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
finally
{
sql.Connection.Close();
}

热心网友 时间:2024-12-11 16:25

你这个问题有点没说清楚
DataGridView的数据如果来自数据库的话
你直接去数据库查询然后用DataGridView显示查询结果就好了
不用去DataGridView中查询吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
用六个成语各造一段话 关于把握机会的名言名句 关于把握住机会的名言名句(把握机会,成就未来) 关于把握机会的名言名句(把握机会的励志句子) 关于机会的名言名句篇一 包括“机遇”的名言名句(一) BPM中国普及之路还有多远? 哪个公司可以做OA系统 目前业内有很多人认为OA现在某些应用或者说功能在向BPM领域延生,请问... ting的三个声调组词 打印的红章可以用橡皮擦掉吗 如何煮出完美的鸡蛋? 水煮鸡蛋也有技巧,怎么煮得好看又营养 微信视频号怎么恢复 被限流了 怎么恢复? 平章村邮编是多少 C# Winform datagridview 标头全选框 那拿村位于哪个市 白蒲村属于哪个省哪个市 去美国留学最不需要带的物品有什么 excel水平滚动条隐藏了怎么调出来? 章可以洗掉吗? 皮上印章能洗掉吗 模具清洗液弄到手上怎么办 做模型时渗线液不小心滴到了手上,有什么事吗 蛋是细胞,它的细胞核、细胞质、细胞膜是什么? 吃鸡蛋二十分钟可以吃药吗 草莓蛋糕卷的经典做法分享 点击datagridview 表头排序,列表中的某些单元格的内容会被清空?这是... Visual C# WindowsForm如何在datagridview中加入复选框 点击datagridview 表头排序,点击列表中的数据显示的却不一样? 这是... 怎么在datagridview里面查找数据 在datagridview中怎么查找数据 C# datagridview 查找数据 光敏油保质期有多久? 在c#中如何用dataGridView获得数据库查询结果 c# 两个datagridview,怎么找不同的数据 日本进口太阳牌光敏印油好吗 鸡蛋能与消炎药同吃吗 鸡蛋和消炎药可以同时吃吗? 瑞士军刀 猎人 颜色的选择 正宗的瑞士军刀什么颜色 如何去掉PPT上面的LOGO 周迅是衢州哪里人到底是哪里人啊晕晕加急!!! 为什么会被微信,视频号禁言了,为什么禁言了?可是我什么都没说... 大批量文件盖章怎么提高效率和安全? 印泥油可以用在号码机上吗 黑底红字印章用什么印油 杭州工商银行流水帐为什么没红章 万分之三的写法就是3&#x2031;吗? 孕晚期9个月吃了没煮熟的鸡蛋