ListViewの表示更新について
- 題名: ListViewの表示更新について
- 著者: beni
- 日時: 2008/01/17 15:01:33
- ID: 21271
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: ListViewの表示更新について
- 著者: Ruku
- 日時: 2008/01/17 16:56:39
- ID: 21272
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: ListViewの表示更新について
- 著者: るしぇ
- 日時: 2008/01/17 16:57:59
- ID: 21273
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: ListViewの表示更新について
- 著者: beni
- 日時: 2008/01/17 19:34:53
- ID: 21276
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
いつもこの掲示板様の記事を参考にさせていただいております。
掲示板を検索したのですが、私の検索が良くない為か、参考記事を見つけることができませんでしたので投稿させていただきました。
現在、VB.NET2005でアプリを作成しており、表示が更新されない為悩んでおります。
二つのフォーム(FormA、FormB)があり、それぞれに同じ構造のListView(lstA(FormA)、lstB(FormB))を配置しております。
FormAからFormBを起動し、二つのフォームはそれぞれ画面をさわれる状態です。
FormBに配置したlstBで行選択して、その選択行のアイテムを[OK]ボタンクリックイベントで、FormAに配置したlstAに追加させたいのです。
受渡しは行われているようなのですが、lstAが更新されずに悩んでおります。
記述モジュール
FormBの記述(呼び出し元)
Private Sub cmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOK.Click
Dim intCnt As Integer = Me.lstB.SelectedItems.Count
Dim intI As Integer
For inti = 0 To intCnt - 1
Dim itemX As ListViewItem = Me.lstB.SelectedItems(intI)
strA = itemX.Text
strB = itemX.SubItems(1).Text
strC = itemX.SubItems(2).Text
strD = itemX.SubItems(3).Text
If FormA.insertView(strA, strB, strC, strD, intCnt - 1) = False Then
'FormAからエラーが返された場合は終了する
Exit Sub
End If
Next
End Sub
FormAの記述(呼び出される側)
Public Function insertView(ByVal strA As String, ByVal strB As String, _
ByVal strC As String, ByVal strD As String, _
ByVal intCnt As Integer) As Boolean
Dim intI As Integer
Dim intC As Integer
'エラー処理の記述(エラーの場合はFalseを返す)
Dim itemS As New ListViewItem
itemS.Text = strA
itemS.SubItems.Add(strB)
itemS.SubItems.Add(strC)
itemS.SubItems.Add(strD)
Me.lstA.Items.Add(itemS)
intI = Me.lstA.Items.Count
Me.lstA.Refresh()
Return True
End Function
insertViewのintI = Me.lstA.Items.Countの記述でlstAの件数を取得しているようですのでlstAに追加されているものと考えておりますが、もしかしたら表示が更新されないだけでなく、追加もされていないのでは?とも悩んでおります。
ご教授いただきたく、よろしくお願いいたします。