【问题标题】:VB.Net/WebForms - Binding a list of keyvaluepair to ListViewVB.Net/WebForms - 将键值对列表绑定到 ListView
【发布时间】:2011-09-20 05:41:52
【问题描述】:

我正在尝试将 New List(Of KeyValuePair(Of String, Integer)) 绑定到 listView 目前,我有一个代码关闭:

Dim TestList As List(Of KeyValuePair(Of String, Integer))
For Each key in GetTPDesc (Which is a list of strings)
    TestList.Add(New KeyValuePair(Of String, Integer)(GetTPDesc.ToString, 0))
Next
For Each ArtFailedPair in Table
    TestAddIndex = ArtFailedPair.Failed
    If TestAddIndex <> 0 Then
        TestList(TestAddIndex -1) = New KeyValuePair(Of String, Integer)(TestList(TestAddIndex -1).Key, TestList(TestAddIndex -1).Value +1)
    End If
Next

对不起,代码块很长,我知道实现很脏,我使用 KeyValuePair 列表的原因是由于需要基于索引的集合,字典没有像我想的那样提供我将。 然后我尝试绑定:

listView.DataSource = TestList
listView.DataBind()

当然,ItemTemplate 有 Eval("key") 和 Eval("value")。但它给了我一个错误,它告诉我: System.Data.Objects.ObjectQuery'1[System.String] 而不是 GetTPDesc。 而且我还认为一个不正确的整数值,因为它似乎不正常。 谢谢。

GetTPDesc:

Dim GetTPDesc = (From tpProducts In context.TestResultLim
                 Where tpProducts.Art_no = productNumber
                 Order By tpProducts.TP_no
                 Select tpProducts.TP_desc)

【问题讨论】:

    标签: asp.net vb.net listview webforms


    【解决方案1】:

    错误在以下行:

    For Each key in GetTPDesc
        TestList.Add(New KeyValuePair(Of String, Integer)(key, 0))
    Next
    

    您正在将查询而不是字符串添加到列表中。

    【讨论】:

    • 为什么,gaaah,这么愚蠢的错误,非常感谢,我想我在 VB.Net 8 小时后一定是疯了,谢谢 :)
    【解决方案2】:

    首先 List(of T) 没有被实例化。

     Dim TestList As New List(Of KeyValuePair(Of String, Integer))
    

    您必须添加密钥而不是 GetTPDesc.ToString()

    TestList.Add(New KeyValuePair(Of String, Integer)(key, 0))
    

    【讨论】:

    • 对不起,它是实例化的,我只需要手动输入所有内容,我尝试了你的方法,它本质上是一样的,我只是改变了我的 ItemTemplate,仍然是同样的问题,显示 ObjectQuery 而不是 GetTPDesc ,并显示一些故障整数。
    • @Reigo Hein:你能发一个 GetTpDesc 方法的片段吗?
    • 我认为 GetTPDesc 中的 For Each 键有问题,之后,当我尝试调试时,列表中填充了 System.Data.Objects.ObjectQuery'1[System.String],0它带有断点,而不是 GetTPDesc 似乎有真正的价值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 2016-06-19
    • 2012-04-07
    • 1970-01-01
    相关资源
    最近更新 更多