datagridviewのカレンダー的使用方法
投稿者 るしぇ  ()
投稿日時
2008/7/24 21:07:00
1つの DataTable をすべての DataGridView から参照し、使い
まわしているのであれば、参照元の設定を変更すれば全ての
DataGridView に変更が適用されるのが正常な処理です。
DefaultView は言葉通り既定のビューだからテーブルに対して
1つしか用意されていませんし。
図で示すなら
[Visual Basic 中学校 > 初級講座 > 第34回 値型と参照型]
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard34.htm
DataGridView ごとに別の DataSource を用意する必要があります。
フィルターをかけるわけですし、DataTable から DataView を
作ったらよいのでは?
[DataView クラス]
http://msdn.microsoft.com/ja-jp/library/system.data.dataview(VS.80).aspx
まわしているのであれば、参照元の設定を変更すれば全ての
DataGridView に変更が適用されるのが正常な処理です。
DefaultView は言葉通り既定のビューだからテーブルに対して
1つしか用意されていませんし。
図で示すなら
[Visual Basic 中学校 > 初級講座 > 第34回 値型と参照型]
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard34.htm
DataGridView ごとに別の DataSource を用意する必要があります。
フィルターをかけるわけですし、DataTable から DataView を
作ったらよいのでは?
[DataView クラス]
http://msdn.microsoft.com/ja-jp/library/system.data.dataview(VS.80).aspx
投稿者 hoido  ()
投稿日時
2008/7/25 20:07:00
>>1
るしぇ様回答ありがとうございました。
正しいかどうかわかりませんが下記のようにコードを変更したら正確に表示させることが出来ました。
For n As Integer = 0 To 105
If Not GridName(n) Is Nothing Then
Dim View As New DataView
View.Table = dt
View.RowFilter = "抽出日 = #" & Date.Parse(LabelDate(n).Text).ToString("d") & "#"
GridName(n).DataSource = View
End If
Next
もし不具合点や改善点があるようでしたらご助言お願いいたします。
るしぇ様回答ありがとうございました。
正しいかどうかわかりませんが下記のようにコードを変更したら正確に表示させることが出来ました。
For n As Integer = 0 To 105
If Not GridName(n) Is Nothing Then
Dim View As New DataView
View.Table = dt
View.RowFilter = "抽出日 = #" & Date.Parse(LabelDate(n).Text).ToString("d") & "#"
GridName(n).DataSource = View
End If
Next
もし不具合点や改善点があるようでしたらご助言お願いいたします。
早速ですが、フォーム上にカレンダー風にDataGridViewを31個作成し、それにSQLServerのデータを日付でフィルターをかけて表示させたいと思っております。
DataGridViewの作成及びデータ表示までは出来たのですが、DataGridView個々にフィルターのかけ方がわかりません。
下記のようにコードを書きFor分で必要回数繰り返すとFor分の最後の日付ですべてフィルターがかかってしまいます。
GridName(n).DataSource = dt
Table = GridName(n).DataSource
View = Table.DefaultView
View.RowFilter = "据付日 = #" & LabelDate(n).Text & "#"
こういう操作場合どのようにしたらうまく表示出きる様になるのでしょうか?
ご指導お願いいたします。