2010-09-08 2 views
2

Можно ли отображать содержимое двумерного массива по вертикали в форме в vb.net с использованием listview, и если да, то как бы я это сделал? Итак, если мой массив объявлен как dim myarray (2,10), как бы я отображал содержимое по вертикали в listview. Благодарю вас за помощь и помощь.Listview в vb.net

+0

По вертикали, вы хотите показать массив в 3 строках х 11 столбцов? –

+0

Ах, извините, должно было ясно, я хочу отобразить 3 столбца из 11 строк, если это возможно – simon

+0

Также winforms или ASP.NET? –

ответ

0

Этот метод должен сделать трюк для вас (я предположил, что мы говорим о приложении winforms, но я понимаю, что он может быть также как приложение ASP.NET, и в этом случае мой ответ больше не будет применим):

Private Sub ShowArrayInListView(ByVal listView As ListView, ByVal dataArray As String(,)) 
    listView.Items.Clear() 
    For y As Integer = dataArray.GetLowerBound(1) To dataArray.GetUpperBound(1) 
     Dim lvi As New ListViewItem 

     For x As Integer = dataArray.GetLowerBound(0) To dataArray.GetUpperBound(0) 
      If x = 0 Then 
       lvi.Text = dataArray(x, y) 
      Else 
       lvi.SubItems.Add(dataArray(x, y)) 
      End If 
     Next 
     listView.Items.Add(lvi) 
    Next 
End Sub 
+0

Ты так много сделал с такой маленькой информацией! – simon

0

У каждого элемента управления, такого как ListView в .NET, есть чудесный механизм шаблонов, который вы можете использовать для размещения HTML внутри него. Кроме того, вы можете обработать событие ItemDataBound и заполнить ярлык, расположенный внутри раздела ItemTemplate вашего элемента управления с помощью HTML-кода. Затем используйте вложенный цикл для генерации ваших <tr> и <td>, поместите их в строку и назначьте ее свойству Label.Text.

Надеюсь, что это поможет,

Смежные вопросы