2007.06.08

ASP.net の ListControl.DataSource に Dictionary を使う

ちょいと小ネタですが、ASP.net の ListControl.DataSource に Dictionary おうとしてはまりました。
そのまま DataSourceに入れただけだと TypeNameが表示されてしまいます。

Dictionaryを使うにはこうするのだそう。

Dim hogeDic As New HybridDictionary
hogeDic.Add("seven","7だよん")
hogeDic.Add("five","5なのだ")
hogeDic.Add("three","3だもん")

Me.ukeList.DataSource = hogeDic
Me.ukeList.DataValueField = "key"
Me.ukeList.DataTextField = "value"

"key" と "value" は決め打ち固定文字のようです。リフレクションなんですかね?


それにしても、Dictionaryがジェネリックでないのはどういう思想なのでしょうか?
Dim hogeDic As New HybridDictionary(Of String, hogeClass) '←できない

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
ichikawa