0

有没有办法遍历datagridview中的所有行,搜索列中具有相同数据的所有行...

示例:DGV1 有列ID, TransID, Name, Desc

假设我在那个 DGV 中有 3 行,

2行有相同的TransID = 1

最后一行有一个TransID = 2.

在我Textbox1输入“2”并按下按钮。

我想遍历 DGV1 以找到与我在文本框中输入的 TransID 相同的所有行,并将这些数据以另一种形式复制到 DGV2 ...

我早些时候问了一个问题,但似乎没有人能帮助我,我真的需要帮助......要了解更多关于我的困境,这里是我之前问题的链接......

如何循环遍历datagridview 1并将循环结果以不同的形式和数据库表复制到datagridview2


@HaBouF 这是我从您的代码中所做的,现在我设法过滤了 DGV

数据库名称是testDGV1(Form1) 的tested表名是 DGV2(Form2) 的表名是testing

代码

Dim ta As New testDataSetTableAdapters.testedTableAdapter Dim f2 As New Form2

      dv.Table = TestDataSet.tested
      dv.RowFilter = "TransID LIKE '%" & TextBox1.Text & "%'"
      f2.DGV2.DataSource = dv
      f2.Show()

此代码过滤数据并显示它,DGV2但是因为我们替换了数据源DGV2,DGV2中的现有数据被暂时删除,我如何将过滤后的数据添加到表中testing(DGV2) 而不必删除现有数据DGV2 直接将其添加到Database因为我可以管理只需添加一个Refresh button以将数据源更改DGV2testing.

4

1 回答 1

1

试试这个:我想象你有一个数据表(dtOriginalData),你用数据填充它,然后你做:

dgv1.DataSource=dtOriginalData

您需要过滤这些数据:

dtOriginalData.DefaultView.RowFilter = "TransID = " & textToFilter.Text

Dim MyNewTable As DataTable = dt.DefaultView.ToTable

您现在需要的是打开新表单并提供过滤后的数据:

dim f2 as new Form2
f2.DGV2.DataSource=MyNewTable
f2.Show

如果 form2 已经打开并且您想要更新它,这是可能的。

如果您显示为您的代码并更好地解释您想要实现的目标,我们将能够为您提供更多帮助。

于 2012-11-20T09:31:05.310 回答