いつも大変お世話になっております。
開発環境:visual studio2015 enterprise
作成しているもの:windowsフォームアプリケーション
.NETFrameworkバージョン:4.6.1
ただ今listBoxに格納されている値を全て取得し、
それをtreeViewに表示するというものを作成中です。
下記が私の今のコードです。
var id = textBox1.Text; var password = textBox2.Text; var db = comboBox1.Text; var ip = textBox4.Text; string connection = "userid=" + id + ";password=" + password + ";database=" + db + ";server=" + ip + ";"; MySqlConnection conn = new MySqlConnection(connection); MySqlDataAdapter da = new MySqlDataAdapter("show tables from " + db + ";", conn); DataTable dt = new DataTable("DB"); da.Fill(dt); listBox1.DisplayMember= "tables_in_" + db; listBox1.DataSource = dt; treeView1.BeginUpdate(); treeView1.Nodes.Add("テスト"); int item = listBox1.Items.Count; for (int i = 0; i < item; i++) { text = listBox1.Items[i].ToString(); treeView1.Nodes[0].Nodes.Add(text); } treeView1.EndUpdate();
このコードを実行するとtreeViewには
テスト____System.Data.DataRowView |____System.Data.DataRowView |____System.Data.DataRowView
と表示されてしまいます。
System.Data.DataRowViewではなく、listBoxに存在する項目名を表示するようにしたいです。
ネットで調べたところ、
string[] text = this.listBox1.Items.Cast<string>().ToArray();
上記のコードで選択していない項目を含めてすべて取得できるとあったのですが、
私の環境だと
型 'System.InvalidCastException' のハンドルされていない例外が System.Core.dll で発生しました
追加情報:型 'System.Data.DataRowView' のオブジェクトを型 'System.String' にキャストできません。
というエラーがでて使えませんでした。
ご教授お願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/13 05:45
2017/07/13 06:14