【问题标题】:DataGridView items add to column 1 & column 2DataGridView 项目添加到第 1 列和第 2 列
【发布时间】:2014-11-29 13:51:35
【问题描述】:

如何将“PageElement2”添加到“column1”,将“PageElement3”添加到“column2”?

我的代码:

   Dim PageElement2 As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("div")
    For Each CurElement As HtmlElement In PageElement2
        If (CurElement.GetAttribute("className") = "itemclassname") Then
            Dim row As String() = New String() {CurElement.InnerText}
            DataGridView1.Rows.Add(row)
        End If
    Next
    Dim PageElement3 As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("div")
    For Each CurElement As HtmlElement In PageElement3
        If (CurElement.GetAttribute("className") = "itemclassnametwo") Then
            Dim row As String() = New String() {CurElement.InnerText}
            DataGridView1.Rows.Add(row) 
        End If
    Next

我有 2 列。

 Name
 Price

我想将“PageElement2”项添加到“名称”列,将“PageElement3”项添加到“价格”列。

【问题讨论】:

    标签: vb.net visual-studio-2010 datagridview


    【解决方案1】:

    你可以试试这个:

    Dim Names As New List(Of String)
    Dim Prices As New List(Of String)
    
    Dim PageElement2 As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("div")
    For Each CurElement As HtmlElement In PageElement2
        If (CurElement.GetAttribute("className") = "itemclassname") Then
            Names.Add(CurElement.InnerText)
    
        End If
    Next
    
    Dim PageElement3 As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("div")
    For Each CurElement As HtmlElement In PageElement3
        If (CurElement.GetAttribute("className") = "itemclassnametwo") Then
            Prices.Add(CurElement.InnerText)
    
        End If
    Next
    
    
    For x = 0 To Math.Max(Names.Count, Prices.Count)
        If x < Names.Count AndAlso x < Prices.Count Then
            Dim row As String() = New String() {Names(x), Prices(x)}
            DataGridView1.Rows.Add(row)
        End If
    Next
    

    【讨论】:

    • hm, "For x = 0 To Math.Max(Names.Count, Price.Count)" 我无法添加更多行名,因为“错误 1 ​​重载解析失败,因为没有可访问的 'Max'接受这个数量的参数。”
    • 试试这个:Dim c As Integer = Math.Max(Names.Count, Prices.Count) 然后For x = 0 To c
    • 谢谢!如何对价格进行排序 (x)?
    • 试试这个: Dim c As Integer = Math.Max(Names.Count, Price.Count) 然后 For x = 0 To c。同样的错误。
    • 知道已经有一段时间了 ;)...您解决了这个问题还是...?因为我无法重现错误。
    猜你喜欢
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    • 2020-06-09
    • 2022-11-25
    • 1970-01-01
    • 2016-09-22
    相关资源
    最近更新 更多