私はVB.NETを絶対に新しくしています。vb.netの配列リストはロードされません
私はMVPシステムを作成しようとしていますが、システムを通じてアレイを定義してロードしようとしています。それからそれを読んで、それはListView1オブジェクトを入力する必要があります。
誰もそれがなぜ入力されないのかを光らせてくれますか?私はコンソールが正しく設定されていると私に伝えているので、彼らは正しく設定されていることを知っている。
アイテムを追加するたびにサンプルが同じアイテム(正確には1週間)で埋められることがわかっていますが、それはポイントではありません。
また、インデックスなしで配列を定義することは可能ですが、今は(6)で設定して文字列の6ブロックを設定するようにしましたが、より柔軟にしたいと考えています。
は、PHP例えば $項目[ "ファーストネーム"] $アイテム[ "姓"] のような方法は...あなたの時間と労力のため
おかげで、あなたをそこです! :-)
ClientlistItem.vb(実際の項目の定義)
Public Class ClientlistItem
Private entry(6) As String
Public Sub New(ByVal iEntry() As String)
entry(0) = iEntry(0)
entry(1) = iEntry(1)
entry(2) = iEntry(2)
entry(3) = iEntry(3)
entry(4) = iEntry(4)
entry(5) = iEntry(5)
End Sub
End Class
ClientList.vb(いわばモデル)
輸入System.Collections.Generic
Public Class Clientlist
Public Event ClientlistChanged()
Private mItems As List(Of ClientlistItem) = New List(Of ClientlistItem)
Public ReadOnly Property Items() As List(Of ClientlistItem)
Get
Return mItems
End Get
End Property
Public Sub AddItem(ByRef iEntry() As String)
Console.WriteLine(iEntry(0))
Dim item As ClientlistItem = New ClientlistItem(iEntry)
mItems.Add(item)
RaiseEvent ClientlistChanged()
End Sub
End Class
クライアントリストプレゼンター.vb(発表者)
Public Class ClientlistPresenter
Private iEntry() As String
Private mClientlistModel As Clientlist
Private mClientlistView As ClientlistView
Public Sub New(ByRef view As ClientlistView)
mClientlistModel = New Clientlist
mClientlistView = view
mClientlistView.Init(mClientlistModel, Me)
End Sub
Public Sub AddItem(ByVal iEntry() As String)
mClientlistModel.AddItem(iEntry)
End Sub
End Class
ClientlistView.vb(ビューが..これは私が記入したいリストビューを持っている)
Imports System.Windows.Forms
Public Class ClientlistView
Private mClientlistPresenter As ClientlistPresenter
Private WithEvents mClientlistModel As Clientlist
Private Sub OrderView_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
mClientlistPresenter = New ClientlistPresenter(Me)
End Sub
Private Sub Orderview_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Resize
Dim fWidth As Integer = Me.Width
Dim fHeight As Integer = Me.Height
ListView1.Bounds = New Rectangle(New Point(0, 25), New Size(fWidth, fHeight))
End Sub
Public Sub Init(ByRef model As Clientlist, ByRef presenter As ClientlistPresenter)
mClientlistPresenter = presenter
mClientlistModel = model
' Set the view to show details.
listView1.View = View.Details
' Allow the user to rearrange columns.
listView1.AllowColumnReorder = True
' Display check boxes.
listView1.CheckBoxes = True
' Select the item and subitems when selection is made.
listView1.FullRowSelect = True
' Display grid lines.
listView1.GridLines = True
' Sort the items in the list in ascending order.
listView1.Sorting = SortOrder.Ascending
ListView1.Columns.Add("#", 40, HorizontalAlignment.Left)
ListView1.Columns.Add("Wholename", 140, HorizontalAlignment.Left)
ListView1.Columns.Add("Date of birth", 80, HorizontalAlignment.Left)
listView1.Columns.Add("Country of birth", -2, HorizontalAlignment.Center)
' Add the ListView to the control collection.
Me.Controls.Add(listView1)
End Sub
Private Sub ClientlistChanged() Handles mClientlistModel.ClientlistChanged
ListView1.Items.Clear()
Dim i As Object
For Each i In mClientlistModel.Items()
Next
End Sub
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim week(6) As String
week(0) = "Sunday"
week(1) = "Monday"
week(2) = "Tuesday"
week(3) = "Wednesday"
week(4) = "Thursday"
week(5) = "Friday"
week(6) = "Saturday"
mClientlistPresenter.AddItem(week)
End Sub
End Class
ここで、あなたのコードで、ListViewに正確に値を設定しようとしていますか? –