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

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

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

Re[2]: カレンダーコントロールの日付からgridviewに抽出表示


(過去ログ 84 を表示中)

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

■49758 / inTopicNo.1)  カレンダーコントロールの日付からgridviewに抽出表示
  
□投稿者/ 初心者1号 (3回)-(2010/05/15(Sat) 15:33:27)

分類:[ASP.NET (VB)] 

2010/05/15(Sat) 15:51:07 編集(投稿者)
2010/05/15(Sat) 15:51:02 編集(投稿者)

開発環境 windows7
使用言語 microsoft visual web developer 2010,vb.net

【質問1】
カレンダーコントロールの日付をクリックしたときに、データの中身をGridViewに抽出表示したいです。どうしたら良いか教えてください。
データはアクセスmdbで中身は以下のようなものです。

日付|内容
2010/05/15|naiyounaiyou
2010/05/14|naiyounaiyou

現在やろうとしている方法は以下の通りです。
CalendarとGridViewを同一ページに配置。
GridViewの右側の矢印から、データソースの選択でアクセスデータベース→該当mdbを選択。
selectステートメントの構成のところのwhereボタンを押して、列は日付、演算子は=、ソースはコントロール、コントロールIDはcalendar1にしました。
すると、値はCalendar1.SelectedDateとなりました。

しかし、Calendar1.SelectedDateだと"2010/05/15 0:00:00"みたいに時刻情報まで含まれるからか、カレンダーの日付をクリックしたとき、データが抽出されません。
データベースの日付の項目の中身が"2010/05/15 0:00:00"のようになっていた場合のみ抽出されました。

コード中ならCalendar1.SelectedDate.ToShortDatestringとやってYYYY/MM/DDの形式にするのですが、現在やろうとしている方法ではできません。

どうしたらよいかご教授ください。

【質問2】
初回のページ読み込み時に、カレンダーのselecteddateを今日の日付にするにはどうしたらよいでしょうか?
引用返信 編集キー/
■49762 / inTopicNo.2)  Re[1]: カレンダーコントロールの日付からgridviewに抽出表示
□投稿者/ もりお (220回)-(2010/05/15(Sat) 23:03:41)
2010/05/15(Sat) 23:06:33 編集(投稿者)
No49758 (初心者1号 さん) に返信

> 【質問1】
> カレンダーコントロールの日付をクリックしたときに、データの中身を
> GridViewに抽出表示したいです。どうしたら良いか教えてください。

Calendar の派生クラスを作って yyyy/MM/dd 形式の文字列を返すプロパティを
公開したり
データソースの Selecting イベントのハンドラにてパラメータに yyyy/MM/dd 
な文字列をセットするという方法があります。
ところで、mdb の日付フィールドのデータ型は DATETIME でしょうか。
もしそうであれば、日付フィールドの値も yyyy/mm/dd の形式に変換する必要が
ありそうですね。

> 【質問2】
> 初回のページ読み込み時に、カレンダーのselecteddateを今日の日付にするに
> はどうしたらよいでしょうか?

Page.Load イベントのハンドラでセットすると善いかと思います。

Private Sub Page_Load() Handles Me.Load
  Calendar1.SelectedDate = DateTime.Now.Date
End Sub

引用返信 編集キー/
■49764 / inTopicNo.3)  Re[2]: カレンダーコントロールの日付からgridviewに抽出表示
□投稿者/ 初心者1号 (4回)-(2010/05/16(Sun) 01:08:35)
どうもありがとうございます。

>>【質問1】
>>カレンダーコントロールの日付をクリックしたときに、データの中身を
>>GridViewに抽出表示したいです。どうしたら良いか教えてください。
> 
> Calendar の派生クラスを作って yyyy/MM/dd 形式の文字列を返すプロパティを
> 公開したり
> データソースの Selecting イベントのハンドラにてパラメータに yyyy/MM/dd 
> な文字列をセットするという方法があります。
> ところで、mdb の日付フィールドのデータ型は DATETIME でしょうか。
> もしそうであれば、日付フィールドの値も yyyy/mm/dd の形式に変換する必要が
> ありそうですね。

派生クラスとかハンドラとか聞き慣れない言葉が。。。
挫折しました。
いったんCalendar1.SelectedDate.ToShortStringの内容をLabel1.textに代入して、そこから読み込ませて一応動くようにしました。

>>【質問2】
>>初回のページ読み込み時に、カレンダーのselecteddateを今日の日付にするに
>>はどうしたらよいでしょうか?
> 
> Page.Load イベントのハンドラでセットすると善いかと思います。
> 
> Private Sub Page_Load() Handles Me.Load
>   Calendar1.SelectedDate = DateTime.Now.Date
> End Sub

ありがとうございます。
上記の例の通りにやったら、どういうわけか今日の日付のところをクリックしても日付を取得できなくなってしまったので、

Private Sub Page_Load() Handles Me.Load
  Calendar1.SelectedDate = DateTime.Now
End Sub

としたらうまくいきました。
何がおかしいのかさっぱりですが、とりあえず意図したとおりに動くようになりました。
ありがとうございました。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -