C# DataGrid 数据绑定后怎么实现类似于excel的查找功能,通过某个字段的值找到所在的行

时间:2022-06-12 15:05:59
C# DataGrid 数据绑定后怎么实现类似于excel的查找功能,通过某个字段的值找到所在的行
应为数据量太大想通过货物名称搜索的方式找到需要采购的某条来输入采购数量,实现的效果就是当输入完货物名称后该货物展现在当前页

16 个解决方案

#1


小弟第一次发帖,希望有大神们支招

#2


直接去查询这个结果集啊,比如DataGrid是绑定到list上面的,那么就去这个list里面搜索后更新DataGrid的datacontext就行了

#3


用DataGrid 的数据源集合去查,包装成一个List<>集合,用linq去查比较方便。
DataCollection = DataList.where(a=>a.字段名 = 你要查的字段名) .ToList();
DataGrid.DataSource = DataCollection ;
多字段查询就直接在括号里加条件就行了

#4


就是用sql语句查询结果集然后绑定吧

#5


查询不要在控件上处理,而是处理控件绑定的数据集
如果是dataset之类的,有现成的select方法可以调用

#6


使用linq可以简单的进行单列,多列查询,排序,筛选等等操作

#7


上面几楼说的很明白了,说白了就是根据你那个字段,去数据库里处理,重新绑定到你的grid,显示,而不是点一下搜索,直接在当前的grid呈现中筛选

#8


建议在sql层处理,如果非要在dataGrid上查的话,你只有用矩阵方式来查找

#9


“类似于excel的查找功能”是什么样的功能?你应该用界面效果图画出来!如果可能最好再画一个基本流程图。否则会误导别人。

#10


你贴的图,两个字段“选择查询条件、查询关键字”其实太含糊了,没有具体内容。这方面的界面效果设计,不需要什么编程技术,需要的是生活常识,业务经验。

所以先把效果图修改到位,当你看到应用领域设计的真东西了(而不是用一个技术人员的脑袋来乱猜业务人员的使用习惯),再考虑谁来设计程序的问题。

#11


表示 直接根据你的条件重新查询出你要的数据 然后重新绑定你的DataGrid 

#12


可以将你的数据放在list中 然后用linq去操作它

#13


效果不是要重新绑定数据,只是在页面上做一个查找的效果,比如在网页上Ctrl+F 输入一个词就能找到词所在位置或标亮,或者是我输入一个货物名称能定位他在多少行也行

#14


引用 7 楼 MrMicrosoft 的回复:
上面几楼说的很明白了,说白了就是根据你那个字段,去数据库里处理,重新绑定到你的grid,显示,而不是点一下搜索,直接在当前的grid呈现中筛选


就是希望在绑定完数据的grid中查找,和数据源无关,不然我填写的采购数量不能最后一起插入数据库,没查找一次添加保存太麻烦

#15


引用 10 楼 sp1234 的回复:
你贴的图,两个字段“选择查询条件、查询关键字”其实太含糊了,没有具体内容。这方面的界面效果设计,不需要什么编程技术,需要的是生活常识,业务经验。

所以先把效果图修改到位,当你看到应用领域设计的真东西了(而不是用一个技术人员的脑袋来乱猜业务人员的使用习惯),再考虑谁来设计程序的问题。

C# DataGrid 数据绑定后怎么实现类似于excel的查找功能,通过某个字段的值找到所在的行

这是之前做的效果,是查询数据库重新绑定的,现在不想这么做,希望不要重新绑定,就是从500条数据中找到我每天要采购的20条,输入采购数量生成采购单。没有查找功能就只能一条条自己去找不方便

#16


引用 15 楼 t923191843 的回复:
Quote: 引用 10 楼 sp1234 的回复:

你贴的图,两个字段“选择查询条件、查询关键字”其实太含糊了,没有具体内容。这方面的界面效果设计,不需要什么编程技术,需要的是生活常识,业务经验。

所以先把效果图修改到位,当你看到应用领域设计的真东西了(而不是用一个技术人员的脑袋来乱猜业务人员的使用习惯),再考虑谁来设计程序的问题。

C# DataGrid 数据绑定后怎么实现类似于excel的查找功能,通过某个字段的值找到所在的行

这是之前做的效果,是查询数据库重新绑定的,现在不想这么做,希望不要重新绑定,就是从500条数据中找到我每天要采购的20条,输入采购数量生成采购单。没有查找功能就只能一条条自己去找不方便

你可以不查询数据库啊,datatable.select("货物名称 like '泰香米'") 的到的数据直接重新绑定,要是不想重新绑定的话,就把查询出来的数据传递给你的输入数量界面,在输入数量界面做一个列表展示,在这个列表里面进行生成采购单

#1


小弟第一次发帖,希望有大神们支招

#2


直接去查询这个结果集啊,比如DataGrid是绑定到list上面的,那么就去这个list里面搜索后更新DataGrid的datacontext就行了

#3


用DataGrid 的数据源集合去查,包装成一个List<>集合,用linq去查比较方便。
DataCollection = DataList.where(a=>a.字段名 = 你要查的字段名) .ToList();
DataGrid.DataSource = DataCollection ;
多字段查询就直接在括号里加条件就行了

#4


就是用sql语句查询结果集然后绑定吧

#5


查询不要在控件上处理,而是处理控件绑定的数据集
如果是dataset之类的,有现成的select方法可以调用

#6


使用linq可以简单的进行单列,多列查询,排序,筛选等等操作

#7


上面几楼说的很明白了,说白了就是根据你那个字段,去数据库里处理,重新绑定到你的grid,显示,而不是点一下搜索,直接在当前的grid呈现中筛选

#8


建议在sql层处理,如果非要在dataGrid上查的话,你只有用矩阵方式来查找

#9


“类似于excel的查找功能”是什么样的功能?你应该用界面效果图画出来!如果可能最好再画一个基本流程图。否则会误导别人。

#10


你贴的图,两个字段“选择查询条件、查询关键字”其实太含糊了,没有具体内容。这方面的界面效果设计,不需要什么编程技术,需要的是生活常识,业务经验。

所以先把效果图修改到位,当你看到应用领域设计的真东西了(而不是用一个技术人员的脑袋来乱猜业务人员的使用习惯),再考虑谁来设计程序的问题。

#11


表示 直接根据你的条件重新查询出你要的数据 然后重新绑定你的DataGrid 

#12


可以将你的数据放在list中 然后用linq去操作它

#13


效果不是要重新绑定数据,只是在页面上做一个查找的效果,比如在网页上Ctrl+F 输入一个词就能找到词所在位置或标亮,或者是我输入一个货物名称能定位他在多少行也行

#14


引用 7 楼 MrMicrosoft 的回复:
上面几楼说的很明白了,说白了就是根据你那个字段,去数据库里处理,重新绑定到你的grid,显示,而不是点一下搜索,直接在当前的grid呈现中筛选


就是希望在绑定完数据的grid中查找,和数据源无关,不然我填写的采购数量不能最后一起插入数据库,没查找一次添加保存太麻烦

#15


引用 10 楼 sp1234 的回复:
你贴的图,两个字段“选择查询条件、查询关键字”其实太含糊了,没有具体内容。这方面的界面效果设计,不需要什么编程技术,需要的是生活常识,业务经验。

所以先把效果图修改到位,当你看到应用领域设计的真东西了(而不是用一个技术人员的脑袋来乱猜业务人员的使用习惯),再考虑谁来设计程序的问题。

C# DataGrid 数据绑定后怎么实现类似于excel的查找功能,通过某个字段的值找到所在的行

这是之前做的效果,是查询数据库重新绑定的,现在不想这么做,希望不要重新绑定,就是从500条数据中找到我每天要采购的20条,输入采购数量生成采购单。没有查找功能就只能一条条自己去找不方便

#16


引用 15 楼 t923191843 的回复:
Quote: 引用 10 楼 sp1234 的回复:

你贴的图,两个字段“选择查询条件、查询关键字”其实太含糊了,没有具体内容。这方面的界面效果设计,不需要什么编程技术,需要的是生活常识,业务经验。

所以先把效果图修改到位,当你看到应用领域设计的真东西了(而不是用一个技术人员的脑袋来乱猜业务人员的使用习惯),再考虑谁来设计程序的问题。

C# DataGrid 数据绑定后怎么实现类似于excel的查找功能,通过某个字段的值找到所在的行

这是之前做的效果,是查询数据库重新绑定的,现在不想这么做,希望不要重新绑定,就是从500条数据中找到我每天要采购的20条,输入采购数量生成采购单。没有查找功能就只能一条条自己去找不方便

你可以不查询数据库啊,datatable.select("货物名称 like '泰香米'") 的到的数据直接重新绑定,要是不想重新绑定的话,就把查询出来的数据传递给你的输入数量界面,在输入数量界面做一个列表展示,在这个列表里面进行生成采购单