C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: ListView1に行を挿入したい


(過去ログ 84 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■50229 / inTopicNo.1)  ListView1に行を挿入したい
  
□投稿者/ Toshi (1回)-(2010/05/31(Mon) 15:50:27)

分類:[VB.NET/VB2005 以降] 

こんにちは、Toshiと申します。
どうぞよろしくお願いたします。

ListView1に下記のデータを表示されています
2000/03/05  あ
2000/03/07  い
2000/03/10  う
2000/03/23  え

このデータは3月度のデータとして、
表示されていない、日を挿入したいとおもいますが、
ご教示のほどよろしくお願いいたします。

引用返信 編集キー/
■50239 / inTopicNo.2)  Re[1]: ListView1に行を挿入したい
□投稿者/ επιστημη (2504回)-(2010/05/31(Mon) 19:39:47)
επιστημη さんの Web サイト
何が訊きたいんだかさっぱりわからんのですが。

引用返信 編集キー/
■50246 / inTopicNo.3)  Re[1]: ListView1に行を挿入したい
□投稿者/ 魔界の仮面弁士 (1663回)-(2010/06/01(Tue) 08:54:14)
No50229 (Toshi さん) に返信
> ListView1に下記のデータを表示されています
> 2000/03/05  あ
> 2000/03/07  い
> 2000/03/10  う
> 2000/03/23  え
> このデータは3月度のデータとして、
> 表示されていない、日を挿入したいとおもいますが、

特定年月の日付を列挙するには、たとえばこのように書けます。
下記を「Dim YMD() As String = GetYMDArray(2000, 3)」と呼び出せば、
"2000/03/01"〜"2000/03/31" の日付の一覧が返されますので、
それを ListView の内容と比較し、必要に応じてデータを Insert してみてください。


Imports System.Globalization
Function GetYMDArray(ByVal y As Integer, ByVal m As Integer) As String()
 Dim maxDay As Integer = Date.DaysInMonth(y, m)

 Dim ymdArray(maxDay - 1) As String
 For d As Integer = 1 To maxDay
  Dim dt As New Date(2000, 3, d)
  Dim YMD As String = dt.ToString("yyyy\/MM\/dd", CultureInfo.InvariantCulture)

  ymdArray(d - 1) = YMD '配列は0から始まるので、日付から -1 する
 Next
 Return ymdArray
End Function
引用返信 編集キー/
■50249 / inTopicNo.4)  Re[2]: ListView1に行を挿入したい
□投稿者/ Toshi (2回)-(2010/06/01(Tue) 13:15:05)
No50246 (魔界の仮面弁士 さん) に返信
> ■No50229 (Toshi さん) に返信
>>ListView1に下記のデータを表示されています
>>2000/03/05  あ
>>2000/03/07  い
>>2000/03/10  う
>>2000/03/23  え
>>このデータは3月度のデータとして、
>>表示されていない、日を挿入したいとおもいますが、
>
> 特定年月の日付を列挙するには、たとえばこのように書けます。
> 下記を「Dim YMD() As String = GetYMDArray(2000, 3)」と呼び出せば、
> "2000/03/01"〜"2000/03/31" の日付の一覧が返されますので、
> それを ListView の内容と比較し、必要に応じてデータを Insert してみてください。
>
>
> Imports System.Globalization
> Function GetYMDArray(ByVal y As Integer, ByVal m As Integer) As String()
>  Dim maxDay As Integer = Date.DaysInMonth(y, m)
>
>  Dim ymdArray(maxDay - 1) As String
>  For d As Integer = 1 To maxDay
>   Dim dt As New Date(2000, 3, d)
>   Dim YMD As String = dt.ToString("yyyy\/MM\/dd", CultureInfo.InvariantCulture)
>
>   ymdArray(d - 1) = YMD '配列は0から始まるので、日付から -1 する
>  Next
>  Return ymdArray
> End Function

魔界の仮面弁士 様
ご回答どうもありがとうございます。
ご教示のとおり、ListViewのデータを比較して、ListView1.Items.Insertでできました。
大変助かりました!どうもありがとうございました。

解決済み
引用返信 編集キー/
■50250 / inTopicNo.5)  Re[3]: ListView1に行を挿入したい
□投稿者/ 渋木宏明(ひどり) (1346回)-(2010/06/01(Tue) 14:20:33)
渋木宏明(ひどり) さんの Web サイト
> ご教示のとおり、ListViewのデータを比較して、ListView1.Items.Insertでできました。

逆に、日付でループ回しておいて、その日の分のデータのあるなしで ListVIewItem.Text 変える、って方が素直な実装のような気が。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -