質問編集履歴

4

ソースの追加

2017/07/13 05:13

投稿

KFSIT
KFSIT

スコア29

test CHANGED
File without changes
test CHANGED
@@ -20,23 +20,45 @@
20
20
 
21
21
  ```ここに言語を入力
22
22
 
23
- treeView1.BeginUpdate();
23
+ var id = textBox1.Text;
24
24
 
25
- treeView1.Nodes.Add("テスト");
25
+ var password = textBox2.Text;
26
26
 
27
- int item = listBox1.Items.Count;
27
+ var db = comboBox1.Text;
28
28
 
29
- for (int i = 0; i < item; i++)
29
+ var ip = textBox4.Text;
30
30
 
31
- {
31
+ string connection = "userid=" + id + ";password=" + password + ";database=" + db + ";server=" + ip + ";";
32
32
 
33
- text = listBox1.Items[i].ToString();
33
+ MySqlConnection conn = new MySqlConnection(connection);
34
34
 
35
- treeView1.Nodes[0].Nodes.Add(text);
35
+ MySqlDataAdapter da = new MySqlDataAdapter("show tables from " + db + ";", conn);
36
36
 
37
- }
37
+ DataTable dt = new DataTable("DB");
38
38
 
39
+ da.Fill(dt);
40
+
41
+ listBox1.DisplayMember= "tables_in_" + db;
42
+
43
+ listBox1.DataSource = dt;
44
+
45
+ treeView1.BeginUpdate();
46
+
47
+ treeView1.Nodes.Add("テスト");
48
+
49
+ int item = listBox1.Items.Count;
50
+
51
+ for (int i = 0; i < item; i++)
52
+
53
+ {
54
+
55
+ text = listBox1.Items[i].ToString();
56
+
57
+ treeView1.Nodes[0].Nodes.Add(text);
58
+
59
+ }
60
+
39
- treeView1.EndUpdate();
61
+ treeView1.EndUpdate();
40
62
 
41
63
  ```
42
64
 

3

修正

2017/07/13 05:13

投稿

KFSIT
KFSIT

スコア29

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  int item = listBox1.Items.Count;
28
28
 
29
- for (int i = 0; i < item; g++)
29
+ for (int i = 0; i < item; i++)
30
30
 
31
31
  {
32
32
 

2

ソースコード追記

2017/07/13 04:55

投稿

KFSIT
KFSIT

スコア29

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,8 @@
19
19
  下記が私の今のコードです。
20
20
 
21
21
  ```ここに言語を入力
22
+
23
+ treeView1.BeginUpdate();
22
24
 
23
25
  treeView1.Nodes.Add("テスト");
24
26
 

1

途中で誤送信してしまった為修正

2017/07/13 04:47

投稿

KFSIT
KFSIT

スコア29

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- ただ今listBoxに格納されている値を取得し、
13
+ ただ今listBoxに格納されている値を全て取得し、
14
14
 
15
15
  それをtreeViewに表示するというものを作成中です。
16
16
 
@@ -34,12 +34,48 @@
34
34
 
35
35
  }
36
36
 
37
- treeView1.EndUpdate();
37
+ treeView1.EndUpdate();
38
38
 
39
39
  ```
40
40
 
41
+ このコードを実行するとtreeViewには
42
+
43
+ ```ここに言語を入力
44
+
45
+ テスト____System.Data.DataRowView
46
+
47
+ |____System.Data.DataRowView
48
+
49
+ |____System.Data.DataRowView
50
+
51
+ ```
52
+
53
+ と表示されてしまいます。
54
+
55
+ System.Data.DataRowViewではなく、listBoxに存在する項目名を表示するようにしたいです。
41
56
 
42
57
 
43
58
 
59
+ ネットで調べたところ、
44
60
 
61
+ ```ここに言語を入力
62
+
45
- string[] address = this.listBox1.Items.Cast<string>().ToArray();
63
+ string[] text = this.listBox1.Items.Cast<string>().ToArray();
64
+
65
+ ```
66
+
67
+ 上記のコードで選択していない項目を含めてすべて取得できるとあったのですが、
68
+
69
+ 私の環境だと
70
+
71
+ 型 'System.InvalidCastException' のハンドルされていない例外が System.Core.dll で発生しました
72
+
73
+
74
+
75
+ 追加情報:型 'System.Data.DataRowView' のオブジェクトを型 'System.String' にキャストできません。
76
+
77
+ というエラーがでて使えませんでした。
78
+
79
+
80
+
81
+ ご教授お願いします。