.net - vb.net dataTable/DataGridView 搜索/排序

标签 .net vb.net datagridview sorting

所以我在表单上有一个 dataGridView 和一个文本框。我希望能够搜索 dataGridView 并将其与文本框中的字符串进行比较。前任: 我在文本框中输入“acv”,所有包含“acv”的字符串都排序到顶部。 我通过一系列涉及 datatable.select 以及一些清理和填充的体操来完成此任务,但它很丑陋且缓慢。执行此操作的最佳实践/正确/正常方法是什么?

最佳答案

使用已筛选的 DataView,然后将 DataGridView 的 BindingSource 设置为已筛选的 DataView。如果用户清除过滤条件,则只需将 BindingSource 设置回原始默认 View 即可。我建议您在排序之前存储 View ,以便您可以轻松返回到原始数据 View 。我现在用它来快速排序,效果很好。将列名称替换为您的列名称。您应该能够从原始 DataGridView 修改数据 View 并应用过滤器而无需重新绑定(bind)。只需在开始时将 DataGridView 绑定(bind)到 DataView,然后检索 DataView(即 DataSource)并进行修改即可。我不确定您是否使用 BindingNavigator。祝你好运。

Dim myDataTable As DataTable = myDataSet.Tables(0)
Dim myDataView As New DataView(myDataTable)

myDataView.RowFilter = "CompanyName LIKE '%" & ddlAlpha.SelectedItem.Text & "%'"
myDataView.Sort = "ContactName"
dataGridView1.DataSource = myDataView
dataGridView1.DataBind()

关于.net - vb.net dataTable/DataGridView 搜索/排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1752040/

相关文章:

.net - Visual Studio 2012 .NET Framework 2.0 缺失

.net - 使用 Style 在 WPF 中禁用列重新排序

c# - 将 XML 字符串反序列化为对象错误 : There is an Error in xml document (1, 2)

vb.net - XML .snippet 文件中的多个 CodeSnippet

C# 参数化查询 X 需要未提供的参数 Y

c# - 按标签查找 DataGridView 项目(行)

c# - .ToString() 和 .ToString(CultureInfo.CurrentCulture)

asp.net - 基于用户首选项的LINQ查询

vb.net - 获取单击事件中按钮的 ID/名称。网络

c# - 使用数据库中的值加载 DataGridView 中的指定列