Manoj Jagdale Ответов: 0

Значение не отображается должным образом в listview in ASP.NET VB


Я сравниваю значение и на основе этого хочу отобразить/показать строку в listview
например, для ID 243, должна показать тип задания задание-нибудь мастерскую работу.

ярлык ListView не принимая результата, как в код, но не отображается на странице некорректно,
но это показывает только полевую работу. оба идентификатора 234 и 244 показывают тот же результат, что и полевое задание

Что я уже пробовал:

Protected Sub joblistview1_ItemDataBound(sender As Object, e As ListViewItemEventArgs) Handles joblistview1.ItemDataBound
    Dim lbljobtype As Label = CType(e.Item.FindControl("JobTypeLabel"), Label)
    'Dim lbljobtype As Label = CType(joblistview1.FindControl("JobTypeLabel"), Label)
    ' Dim jobtypelist As ArrayList = New ArrayList()
    'Dim jobtypelist As List(Of String)
    'Dim jobtype As String()
    'jobtypelist = New List(Of String)

    Dim jobtypelist(ds.Tables(0).Rows.Count - 1) As String
    Dim i As Integer
    For i = 0 To ds.Tables(0).Rows.Count - 1
        jobtypelist(i) = ds.Tables(0).Rows(i)("CardTypeRefId")
        If jobtypelist(i) = 243 Then
            lbljobtype.Text = "Field Job"
        ElseIf jobtypelist(i) = 244 Then
            lbljobtype.Text = "Workshop Job"

        End If
    Next
End Sub

FranzBe

Мне не совсем ясно, что вы собираетесь делать. Вы выполняете итерацию по всем строкам таблицы, а затем присваиваете одно свойство текста метки, зависящее от значения поля CardTypeRefId. Метка всегда будет содержать текст, соответствующий значению идентификатора последней строки перед завершением цикла.

Manoj Jagdale

но он не мог держать значение было поставлено.. Это печать одного и того же результата для обоих идентификаторов. он показывает только полевую работу. оба идентификатора 234 и 244 показывают тот же результат, что и полевое задание. Я не понимаю, в чем проблема?

CHill60

Он ненадолго удерживает "полевую работу", а затем, когда вы переходите к следующей строке, этот текст заменяется "мастерской работой" ... у вас есть только одна метка, чтобы покрыть все строки в таблице. Либо добавьте столбец в таблицу, либо используйте набор меток.

Manoj Jagdale

как добавить столбец в таблицу или использовать коллекцию меток ?

FranzBe

SELECT
    <other fields>
    ,CardTypeRefId	   
    CASE WHEN  CardTypeRefId = 243 THEN 'Field Job'
         WHEN  CardTypeRefId = 244 THEN 'Workshop  Job'
         ELSE 'unknown'
    END AS JobDescription
FROM <Table>	

Manoj Jagdale

ладно, но как я могу показать эти результаты полевой работы " и " практикум работы на переднем конце (ВБ), потому что в ListView свойства itemtemplate только cardTypeRefId доступно. таким образом, он показывает ошибку для jobDescription, что "массив вне границы"

FranzBe

очевидно, вам нужно отредактировать itemtemplate, чтобы освободить место для нового столбца, поступающего сейчас из базы данных ...

Manoj Jagdale

Могу ли я добавить шаблон для этого поля в listview?
Если да, то какое имя столбца должно быть указано в шаблоне listview?

Manoj Jagdale

Да, Дело Сделано..
спасибо всем.....

0 Ответов