タイトル : Re^2: ListViewの項目表示 投稿日 : 2007/06/06(Wed) 23:59 投稿者 : hoido
魔界の仮面弁士様回答ありがとうございます。 > コードが崩れているので、先の投稿を『編集』して、 現在のコードは > @1ヵ月分のリストビューを配置する > Private Sub Balcony_Start() > Dim f, No0 As Integer > Dim x, y As Integer > Dim Type As String = "Ba" > > '週作成 > For WeekNo = 0 To 4 > LabelFree(0 + WeekNo) = New Label > With LabelFree(0 + WeekNo) > .Bounds = New Rectangle(New Point(0, 40 + WeekNo * 310), New Size(50, 290)) > .BorderStyle = BorderStyle.FixedSingle > .Text = "DEMO" > End With > Me.Pnl_keikaku.Controls.Add(LabelFree(0 + WeekNo)) > > LabelFree(3 + WeekNo) = New Label > With LabelFree(3 + WeekNo) > .Bounds = New Rectangle(New Point(50, 40 + WeekNo * 310), New Size(50, 290)) > .BorderStyle = BorderStyle.FixedSingle > End With > Me.Pnl_keikaku.Controls.Add(LabelFree(3 + WeekNo)) > > '日作成 > For d As Integer = 0 To 6 > x = (d - 1) * 400 + 100 > y = WeekNo * 310 > If d = 0 Then GoTo skip > > '日付入力用Label配置 > LabelDate(No0) = New Label > With LabelDate(No0) > .Bounds = New Rectangle(New Point(x, 20 + y), New Size(400, 20)) > .BorderStyle = BorderStyle.FixedSingle > .Name = "lbl_day_" & No0 > .Text = DateAdd(DateInterval.Day, No0, StartDay).ToString("M/d") > End With > Me.Pnl_keikaku.Controls.Add(LabelDate(No0)) > > '生産台数合計入力用Label配置 > LabelTotal(No0) = New Label > With LabelTotal(No0) > .Bounds = New Rectangle(New Point(x, 310 + y), New Size(400, 20)) > .BorderStyle = BorderStyle.FixedSingle > .Name = "lbl_Total_" & No0 > End With > Me.Pnl_keikaku.Controls.Add(LabelTotal(No0)) > > 'ListView配置 > ListName(f) = New ListView > With ListName(f) > .Bounds = New Rectangle(New Point(x, 40 + y), New Size(400, 270)) > .BorderStyle = BorderStyle.FixedSingle > .HeaderStyle = ColumnHeaderStyle.None > .Name = "lis_lis" & Type & "_" & No0 > End With > > 'イベントプロシージャに登録 > Me.Pnl_keikaku.Controls.Add(ListName(f)) > AddHandler ListName(f).MouseUp, AddressOf ListView_MouseUp > > GoTo NextStep > > Skip: > > '日曜日の場合はここに来る > LabelDate(No0) = New Label > With LabelDate(No0) > .Bounds = New Rectangle(New Point(50, 20 + y), New Size(50, 20)) > .BorderStyle = BorderStyle.FixedSingle > .Name = "lbl_day_" & No0 > .Text = DateAdd(DateInterval.Day, No0, StartDay).ToString("M/d") > End With > Me.Pnl_keikaku.Controls.Add(LabelDate(No0)) > > NextStep: > f += 1 > No0 += 1 > Next > Next > End Sub > > 以上長くなってしまって申し訳ありませんが1ヵ月分の > リストビュー及び日付入力用のラベルを配置しています。 > > A詳細項目の配置 Private Sub Balcony_add() > Dim i, L As Integer > Dim Total As Long > > For L = 0 To 35 > Select Case L > '日曜日はとばす > Case 0, 7, 14, 21, 28, 35 > GoTo NextStep > End Select > > 'ListViewのフェッダー作成 > With ListName(L) > If Update_F = True Then > .Clear() > End If > .View = View.Details > .FullRowSelect = True > .HeaderStyle = ColumnHeaderStyle.None > .Columns.Add("DEMO1", 45, HorizontalAlignment.Center) > .Columns.Add("DEMO2", 50, HorizontalAlignment.Center) > .Columns.Add("DEMO3", 100, HorizontalAlignment.Center) > End With > > '詳細項目追加理 > Dim ItemNo As Integer = 0 > Dim S_day As Date > Dim Select_Day As String = "lbl_day_" & L > > For y As Long = 0 To RET - 1 > S_day = B_edit(y).seisan_day > If S_day = Me.Pnl_keikaku.Controls(Select_Day).Text Then > > '詳細項目の追加 > With ListName(L) > .Items.Add(Format(B_edit(y).suetuke, "MM/dd"), ItemNo) > .Items(ItemNo).SubItems.Add(B_edit(y).type_code) > .Items(ItemNo).SubItems.Add(B_edit(y).name) > ItemNo += 1 > End With > End If > Next y > NextStep: > Next L > End Sub > > 以上 申し訳ありませでした。 申し訳ありません。私の説明不足です。 4/30 DEMO1 DEMO2 DEMO3 5/1 Ba DEMO 5/1 Ba DEMO 5/1 Ba DEMO 作業の内容としては構造体(約500件)のなかから 例として4/30(上記参考)=B_edit(y).seisan_dayのデータのみ抽出しB_edit(y).suetuke、B_edit(y).type_code、B_edit(y).nameの3項目をリストビューに追加していく作業です。 それなのでリストビュー内に表示されるデータはいっさい加工せず、加工する部分としては日付のラベルのみ(上記例題の4/30のところ)のみです。 申し訳ありませんが今一度お願いします。 |