VB.Net/WebForms - привязка списка пар ключей к ListView - PullRequest
0 голосов
/ 20 сентября 2011

Я пытаюсь связать новый список (Of KeyValuePair (Of String, Integer)) со списком. В настоящее время у меня отключен код:

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

Извините за длинный блок кода, я знаю, что реализация грязная, и причина, по которой я использовал List of KeyValuePair, была вызвана необходимостью сбора на основе индекса, который словарь не предоставил мне, как я думал было бы. И тогда я пытаюсь связать с:

listView.DataSource = TestList
listView.DataBind()

И ItemTemplate имеет Eval («ключ») и Eval («значение»), конечно. Но это дает мне ошибку, это показывает мне: 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)

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Ошибка в следующей строке:

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

вы добавляете запрос в список вместо строк.

1 голос
/ 20 сентября 2011

Прежде всего, список (из T) не создан.

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

, и вы должны добавить ключ, а не GetTPDesc.ToString ()

TestList.Add(New KeyValuePair(Of String, Integer)(key, 0))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...