- ベストアンサー
VB.NETで配列をテーブルに変換する方法とは?
- VB.NETで一次元配列string()のデータをDataTableに変換する方法について教えてください。
- 配列をDataTableに変換する際に発生するエラー「型'String'の値を'System,Data,DataTable'に変換できません。」の解決方法について教えてください。
- 解決方法が見つからず、VB.NETで配列をテーブルに変換できない状況に困っています。どなたか助けてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.2です。 >ListBox1.DataSource = dtを、追加記載してから、 >「System.Data.DataRowView」が表示され、テーブルが表示されません。 まず文字型の1次元配列をListBox1にDataSource で代入するなら Dim s1() As String = New String() {"a", "b", "c", "d"} ListBox1.DataSource = s1 これで十分なはずですが・・・ テーブルとして表示するならDataGridViewを配置して 行なうのがよくある使い方と思います。 http://www.cocoaliz.com/vb.net/index/24/
その他の回答 (2)
- n-jun
- ベストアンサー率33% (959/2873)
No.1です。 コード自体は新規のもので書いてみたものですので、 実際組み込んでみてダメだったとすると ちょっと不明ですね。 新規でやってみてダメだったとすると バージョンによるのかな? ⇒一応こちらは2005の参考書を基に 2008で検証しましたけど、 特にコードに書かれていること以外には 何もしてなくて・・・・
お礼
ありがとうございます。 組み込みでやっておりましたが、新規で実行しましても、 ListBox1.DataSource = dtを、追加記載してから、「System.Data.DataRowView」が表示され、テーブルが表示されません。 後、バージョンは、2012を、使用しております。
- n-jun
- ベストアンサー率33% (959/2873)
Dim s1() As String = New String() {"a", "b", "c", "d"} Dim dt As DataTable Dim dr As DataRow Dim cnt As Integer Dim i As Integer dt = New DataTable dt.Columns.Add("test", Type.GetType("System.String")) cnt = s1.Length For i = 0 To cnt - 1 dr = dt.NewRow() dr("test") = s1(i) dt.Rows.Add(dr) Next For i = 0 To dt.Rows.Count - 1 Debug.Print(dt.Rows(i).Item("test").ToString) Next こんな感じとか?
お礼
早速のご回答ありがとうございます。 試しました所、 >dt.Columns.Add("test", Type.GetType("System.String")) で、'dataType'引数をNullにすることはできません。と、エラーが発生してしまいます。 解決方法を探しましたが見つかりませんでした。 どのように対処すれば良いか分かりますでしょうか?
お礼
新規でDataGridViewを使用すると、思い通りの結果ができました。 しかし、組み込みますと、「'dataType'引数をNullにすることはできません。」のエラーが発生してしまいます。 原因を追究していましたが、解決にはなりませんでした。 方法は分かりましたので、何とか別の方向で使用出来るようにしたいと思います。 ありがとうございました。