質問編集履歴

3

修正

2020/04/23 10:15

投稿

culych
culych

スコア8

test CHANGED
@@ -1 +1 @@
1
- 動的に追加したTreeviewの情報を取得、Panelに詳細情報表示したいです。
1
+ TreeviewのNodeに設定たValue取得したいです。
test CHANGED
@@ -6,21 +6,21 @@
6
6
 
7
7
 
8
8
 
9
- 1. 画面左側にTreeView表示用panel、画面右側にTreeView詳細情報表示用panelを用意
9
+ 1. 画面左側にTreeView表示、画面右側にTreeView詳細情報表示用divを用意
10
-
10
+
11
- 2. DBから取得したデータを元に、動的にTreeViewを作成
11
+ 2. DBから取得したデータをTreeViewにバインド
12
+
12
-
13
+ 3. 各ノードのvalue値にテーブルの主キーを設定
14
+
13
- 3. 画面上でクリックされたノードの情報を取得
15
+ 4. 画面上で選択されたノードのvalue値を取得
14
-
16
+
15
- 4. ドの情報からDB設定されていを取得
17
+ 5. value値(主キ)該当すテーブルのレコードを取得
16
-
18
+
17
- 5. 取得した値をTreeView詳細情報表示用panel設定
19
+ 6. 取得した値を詳細画面表示用div表示
18
-
19
-
20
-
21
- 動的にTreeViewを追加する事には成功しました。
20
+
22
-
21
+
22
+
23
- しかし、TreeViewから選択したノード情報を取得する方法がわからないです
23
+ 上記の流れの中でTreeViewから選択したノードのvalue値を取得する方法がわかりません
24
24
 
25
25
 
26
26
 
@@ -38,15 +38,11 @@
38
38
 
39
39
 
40
40
 
41
- # 動的にTreeViewを追加したコード
41
+ # TreeView表示コード
42
42
 
43
43
  ```HTML
44
44
 
45
- <%@ Page Title="" Language="C#" MasterPageFile="~/webMasterPage.Master"
45
+ <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true" CodeBehind="TreeView.aspx.cs" Inherits="TreeView.TreeView" %>
46
-
47
- AutoEventWireup="true" CodeBehind="BulletinBoardList.aspx.cs"
48
-
49
- Inherits="ASP_app.BulletinBoardList" %>
50
46
 
51
47
 
52
48
 
@@ -70,11 +66,15 @@
70
66
 
71
67
  <asp:LinkButton ID="btnRegist" runat="server" OnClick="btnRegist_Click" OnClientClick="return btnRegister_Click()" class="portalBtn board-margin-bottom">新規登録</asp:LinkButton>
72
68
 
73
- <hr class="hr" />
69
+ <hr />
74
-
70
+
75
- <asp:Panel ID="pnlTree" runat="server" Style="width:20%;float:left"></asp:Panel>
71
+ <div id="divTree" runat="server" style="width: 20%; float: left">
72
+
76
-
73
+ <asp:TreeView ID="TreeView1" runat="server"></asp:TreeView>
74
+
75
+ </div>
76
+
77
- <asp:Panel ID="pnlDetail" runat="server" Style="width:80%;float:right"></asp:Panel>
77
+ <div id="divDetail" runat="server" style="width: 80%; float: right"></div>
78
78
 
79
79
  </div>
80
80
 
@@ -102,23 +102,19 @@
102
102
 
103
103
 
104
104
 
105
- namespace ASP_app
105
+ namespace TreeView
106
106
 
107
107
  {
108
108
 
109
- public partial class BulletinBoardList : System.Web.UI.Page
109
+ public partial class TreeView : System.Web.UI.Page
110
110
 
111
111
  {
112
112
 
113
- private TreeView treeView = new TreeView();
114
-
115
-
116
-
117
113
  protected void Page_Load(object sender, EventArgs e)
118
114
 
119
115
  {
120
116
 
121
- if(IsPostBack==true){return;}
117
+ if (IsPostBack == true) { return; }
122
118
 
123
119
  set_treeMenuList();
124
120
 
@@ -146,67 +142,59 @@
146
142
 
147
143
 
148
144
 
149
-
150
-
151
145
  string strSql = $" SELECT p.parentID as pID,p.BoardName as pName,c.childID as cID,c.TreadName as cName"
152
146
 
153
147
  + $" FROM parent p"
154
148
 
155
149
  + $" INNER JOIN child c"
156
150
 
157
- + $" ON p.parentID=c.childID"
151
+ + $" ON p.parentID=c.childID";
158
-
159
-
160
-
152
+
153
+
154
+
161
- //データベースに接続
155
+ //データベースに接続
162
-
156
+
163
- DataTable dtTree = ----;
157
+ DataTable dtTree = ----;
164
-
165
-
166
-
158
+
159
+
160
+
167
- foreach (DataRow rowParent in dtTree.Rows)
161
+ foreach (DataRow rowParent in dtTree.Rows)
162
+
163
+ {
164
+
165
+ // 親ノード作成
166
+
167
+ if (parent.Value != rowParent["pID"].ToString())
168
168
 
169
169
  {
170
170
 
171
- // 親ノード作成
171
+ parent = new TreeNode();
172
-
172
+
173
- if (parent.Value != rowParent["pID"].ToString())
173
+ parent.Value = rowParent["pID"].ToString();
174
+
175
+ parent.Text = rowParent["pName"].ToString();
176
+
177
+ TreeView1.Nodes.Add(parent);
178
+
179
+
180
+
181
+ foreach (DataRow rowChild in dtTree.Rows)
174
182
 
175
183
  {
176
184
 
177
- parent = new TreeNode();
185
+ // 子ノード作成
178
-
186
+
179
- parent.Value = rowParent["pID"].ToString();
187
+ if (parent.Value == rowChild["pID"].ToString())
180
-
181
- parent.Text = rowParent["pName"].ToString();
182
-
183
- treeView.Nodes.Add(parent);
184
-
185
-
186
-
187
-
188
-
189
- foreach (DataRow rowChild in dtTree.Rows)
190
188
 
191
189
  {
192
190
 
193
- // 子ノード作成
194
-
195
- if (parent.Value ==rowChild["pID"].ToString())
196
-
197
- {
198
-
199
- child = new TreeNode();
191
+ child = new TreeNode();
200
-
192
+
201
- child.Value =rowChild["cID"].ToString();
193
+ child.Value = rowChild["cID"].ToString();
202
-
194
+
203
- child.Text =rowChild["cName"].ToString();
195
+ child.Text = rowChild["cName"].ToString();
204
-
196
+
205
- parent.ChildNodes.Add(child);
197
+ parent.ChildNodes.Add(child);
206
-
207
- pnlTree.Controls.Add(treeView);
208
-
209
- }
210
198
 
211
199
  }
212
200
 

2

環境情報の修正

2020/04/23 10:15

投稿

culych
culych

スコア8

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 以下の一連の流れを実装したいです。
5
+ ASP.NET Web Formsで以下の一連の流れを実装したいです。
6
6
 
7
7
 
8
8
 
@@ -238,7 +238,7 @@
238
238
 
239
239
  Windows10
240
240
 
241
- .NET 4.0
241
+ .NET 4.8
242
242
 
243
243
  SQLServer
244
244
 

1

環境情報の修正

2020/04/23 06:54

投稿

culych
culych

スコア8

test CHANGED
File without changes
test CHANGED
@@ -232,6 +232,18 @@
232
232
 
233
233
  ASP.net
234
234
 
235
+ C#
236
+
235
237
  VisualStudio2017
236
238
 
239
+ Windows10
240
+
241
+ .NET 4.0
242
+
243
+ SQLServer
244
+
245
+ →エディション:MicrosoftSQLServerDeveloper(64-bit)
246
+
247
+ →バージョン:15.0.2000.5
248
+
237
249
  SQLServerManagementStudio2019