查找并替换为差异 [已关闭]

Find and replace with a difference [closed]

提问人:James Oliver 提问时间:11/12/2023 最后编辑:Mark RotteveelJames Oliver 更新时间:11/13/2023 访问量:29

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

8天前关闭。

这篇文章在 7 天前被编辑并提交审核,未能重新打开帖子:

原始关闭原因未解决

我正在尝试添加查找和替换。我需要能够有一个要查找的项目列表以及要用什么替换它。我以为我可以使用带有两列“查找”和“替换”的第二个 DataGridView。然后,我需要根据列表框进行检查。下面解释了我目前拥有的应用程序以及我如何获取我使用的数据。

该应用程序允许我获取电子邮件中收到的数据并转换/添加其他数据,然后以允许我将数据粘贴到 Microsoft CRM 中的方式对其进行格式化。

该窗体具有一个多行文本框和两个可见的“转换”和“清除”按钮,以及一个不可见的列表框和两个 DataGridview。

我通过电子邮件接收数据,其中有一个表格,在大多数情况下,电子邮件正文中有 4 列,如下所示

项目 法典 不含增值税 含增值税
21.5英寸显示器 23999 60.99 73.19
USB 耳机 14821 19.20 23.04
打印机 21221 40.99 49.19
软件 33398 29.20 35.04
软件和硬件驱动程序到新笔记本电脑上 15 18

我将电子邮件中的数据复制并粘贴到表单上的多行文本框中,然后单击转换按钮,该按钮执行以下操作并将数据转换为逗号分隔值,并将其发送到列表框。

21.5寸显示器,23999,60.99,73.19

Dim lines() As String = TextBox2.Text.Split(vbNewLine.ToCharArray, StringSplitOptions.RemoveEmptyEntries)
TextBox2.Text = ""
TextBox2.Text = String.Join(vbNewLine, lines)
Dim strText() As String
strText = Split(TextBox2.Text, vbCrLf)
MsgBox(strText.Count) ' OR MsgBox(strText.Count + 1)
ListBox1.Items.Clear()
ListBox1.Items.AddRange(strText.ToArray)


Dim i As Integer
For i = 0 To ListBox1.Items.Count - 1
    Dim arrWords() As String = ListBox1.Items(i).Split(",")

    Dim dr As New DataGridViewRow
    DataGridView3.Rows.Add(dr)
    DataGridView3.Rows(i).Cells(0).Value = ("Item")
    DataGridView3.Rows(i).Cells(1).Value = ("1")
    DataGridView3.Rows(i).Cells(2).Value = arrWords(1)
    DataGridView3.Rows(i).Cells(3).Value = arrWords(2)
    DataGridView3.Rows(i).Cells(4).Value = ("VAT20")
    DataGridView3.Rows(i).Cells(5).Value = arrWords(2)
    '--------------------------------

Next i

'working above
DataGridView3.SelectAll()
Clipboard.SetDataObject(DataGridView3.GetClipboardContent())

对于列表框中的数据,我希望在将日期发送到 DataGridView 之前查找和替换或删除我不想要的行。

我以为我可以使用带有两列“查找”和“替换”的第二个 DataGridView。然后对照列表框检查一下,但我不确定最佳方法。

vb.net

评论

0赞 Ann L. 11/12/2023
这是一个 ,而不是一个 ,对吗?只是一个简单的下拉列表,尽管它有一个复杂的文本值?ListBoxListView
0赞 Ann L. 11/12/2023
数据存储在哪里?

答: 暂无答案