asp.net本身就给我们提供了很多控件,而且不少控件开发公司也为我们提供了丰富漂亮的控件;但仍然不能满足我这样的懒人在实际项目中的需要,所以就需要学会自己来开发控件。因为我不想重复工作,所以要创建它,我自己是很喜欢控件开发,只不过目前还是一个小菜。
前些时间在园子里看到有位朋友写也了一个DropDownTreeList控件,说实话写的很是不错。今天也贴出我在项目中写的DropDownTreeList控件,以此来和园子里喜欢控件开发的朋友共同进步。
是不是有朋友在说:“少废话了,代码贴出来看看先”。好,那就贴出代码先:
好的,图来了。效果1:![](https://www.cnblogs.com/images/cnblogs_com/ziyan22/DropDownTreeList.jpg)
好的,图来了。效果2:![](https://www.cnblogs.com/images/cnblogs_com/ziyan22/DropDownTreeList1.jpg)
使用方法:
string SQl = "select * from SYS_T_Menu";
DataTable dt = SqlHelper.ReturnDataTable(SQl);
DropDownTreeList1.NodeTextField = "Menu_Name";
DropDownTreeList1.NodeValueField = "Menu_ID";
DropDownTreeList1.ParentFiledName = "Menu_Father_ID";
DropDownTreeList1.DataSource = dt;
DropDownTreeList1.DataBind();
前些时间在园子里看到有位朋友写也了一个DropDownTreeList控件,说实话写的很是不错。今天也贴出我在项目中写的DropDownTreeList控件,以此来和园子里喜欢控件开发的朋友共同进步。
是不是有朋友在说:“少废话了,代码贴出来看看先”。好,那就贴出代码先:
1
/// <summary>
2
/// 下拉树形框控件。
3
/// </summary>
4
[DefaultProperty("Text"), ToolboxData("<{0}:DropDownTreeList runat=server></{0}:DropDownTreeList>")]
5
public class DropDownTreeList : WebControl, IPostBackDataHandler, IPostBackEventHandler
6
{
7![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
/// <summary>
9
/// 下拉列表框控件变量
10
/// </summary>
11
public System.Web.UI.WebControls.DropDownList TypeID = new System.Web.UI.WebControls.DropDownList();
12![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
14
/// <summary>
15
/// 构造函数
16
/// </summary>
17
public DropDownTreeList(): base()
18
{
19
this.BorderStyle = BorderStyle.Groove;
20
this.BorderWidth = 1;
21
}
22![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
/// <summary>
24
/// 构造函数
25
/// </summary>
26
/// <param name="dt"></param>
27
public DropDownTreeList(DataTable dt): this()
28
{
29
BuildTree(dt);
30
}
31![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
/// <summary>
33
/// 构造函数
34
/// </summary>
35
/// <param name="selectid">选择项</param>
36
/// <param name="dt"></param>
37
public DropDownTreeList(string selectid,DataTable dt): this(dt)
38
{
39
this.TypeID.SelectedValue = selectid;
40
}
41![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
/// <summary>
43
/// 创建树
44
/// </summary>
45
/// <param name="dt"></param>
46
public void BuildTree(DataTable dt)
47
{
48
if(this.ParentFiledName.Trim()=="")
49
{
50
throw new Exception("父字段名称不能为空");
51
}
52
if (this.NodeTextField.Trim() == "")
53
{
54
throw new Exception("节点文本字段名称不能为空");
55
}
56
if(this.NodeValueField.Trim()=="")
57
{
58
throw new Exception("节点值字段名称不能为空");
59
}
60
string SelectedType = "0";
61![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
TypeID.SelectedValue = SelectedType;
63
this.Controls.Add(TypeID);
64
TypeID.Items.Clear();
65
//加载树
66
TypeID.Items.Add(new ListItem("请选择 ", "0"));
67
DataRow[] drs = dt.Select(this.ParentFiledName + "=0");
68
foreach (DataRow r in drs)
69
{
70
TypeID.Items.Add(new ListItem(r[NodeTextField].ToString(), r[NodeValueField].ToString()));
71
string blank=StyleDropTree.DropDownTreeList_Style(DropTreeStyle);
72
BindNode(r[NodeValueField].ToString(), dt, blank);
73
}
74
75
TypeID.DataBind();
76
}
77![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
78
private string _nodeValueField="";
79
/// <summary>
80
/// 节点值字段
81
/// </summary>
82
[Bindable(true), Browsable(true), Category("数据"), DefaultValue("")]
83
public string NodeValueField
84
{
85
get
86
{
87
try
88
{
89
return _nodeValueField;
90
}
91
catch
92
{
93
throw new Exception();
94
}
95![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
96
}
97
set
98
{
99
this._nodeValueField = value;
100
}
101
}
102![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
103
private string _nodeTextField="";
104
/// <summary>
105
/// 节点文本字段
106
/// </summary>
107
[Bindable(true), Browsable(true), Category("数据"), DefaultValue("")]
108
public string NodeTextField
109
{
110
get
111
{
112
try
113
{
114
return _nodeTextField;
115
}
116
catch
117
{
118
throw new Exception();
119
}
120![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
121
}
122
set
123
{
124
this._nodeTextField = value;
125
}
126
}
127![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
128
/// <summary>
129
/// 创建树
130
/// </summary>
131
/// <param name="sqlstring">查询字符串</param>
132
/// <param name="selectid">选取项</param>
133
public void BuildTree(string selectid,DataTable dt)
134
{
135
BuildTree(dt);
136
this.TypeID.SelectedValue = selectid;
137
}
138![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
139
/// <summary>
140
/// 创建树结点
141
/// </summary>
142
/// <param name="sonparentid">当前数据项</param>
143
/// <param name="dt">数据表</param>
144
/// <param name="blank">空白符</param>
145
private void BindNode(string sonparentid, DataTable dt, string blank)
146
{
147
DataRow[] drs = dt.Select(this.ParentFiledName + "=" + sonparentid);
148![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
149
foreach (DataRow r in drs)
150
{
151
string nodevalue = r[NodeValueField].ToString();
152
string text = r[NodeTextField].ToString();
153
if (StyleDropTree.DropDownTreeList_Style(DropTreeStyle) == "├─『")
154
{
155
text = blank + "" + text + "』";
156
}
157
else
158
{
159
text = blank + "" + text + "";
160
}
161
TypeID.Items.Add(new ListItem(text, nodevalue));
162
string blankNode = HttpUtility.HtmlDecode(" ") + blank;
163
BindNode(nodevalue, dt, blankNode);
164
}
165
}
166![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
167
168
/// <summary>
169
/// 当前选择项的值
170
/// </summary>
171
[Bindable(false), Browsable(false), Category("数据"), DefaultValue("")]
172
public string SelectedValue
173
{
174
get
175
{
176
return this.TypeID.SelectedValue;
177
}
178![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
179
set
180
{
181
this.TypeID.SelectedValue = value;
182
}
183
}
184
185
/// <summary>
186
/// 当前选择项的文本
187
/// </summary>
188
[Bindable(false), Browsable(false), Category("数据"), DefaultValue("")]
189
public string SelectedText
190
{
191
get
192
{
193
try
194
{
195
string NodeText = this.TypeID.SelectedItem.Text.Trim();
196
int i = 0;
197
if (StyleDropTree.DropDownTreeList_Style(DropTreeStyle) == "├─『")
198
{
199
i = NodeText.IndexOf("『");
200
return NodeText.Substring(i + 1, NodeText.Length - i - 2);
201
}
202
else
203
{
204
return NodeText.Trim();
205
}
206
207
}
208
catch
209
{
210
return "";
211
}
212
213
}
214
set
215
{
216
this.TypeID.SelectedItem.Text=value;
217
}
218
}
219
/// <summary>
220
/// 父字段名称
221
/// </summary>
222
private string m_parentid = "";
223
[Bindable(true), Category("数据"), DefaultValue("")]
224
public string ParentFiledName
225
{
226
get
227
{
228
return m_parentid;
229
}
230![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
231
set
232
{
233
m_parentid = value;
234
}
235
}
236![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
237
/// <summary>
238
/// 当某选项被选中后,获取焦点的控件ID(如提交按钮等)
239
/// </summary>
240
[Bindable(true), Category("数据"), DefaultValue("")]
241
public string SetFocusButtonID
242
{
243
get
244
{
245
object o = ViewState[this.ClientID + "_SetFocusButtonID"];
246
return (o == null) ? "" : o.ToString();
247
}
248
set
249
{
250
ViewState[this.ClientID + "_SetFocusButtonID"] = value;
251
if (value != "")
252
{
253
this.TypeID.Attributes.Add("onChange", "document.getElementById('" + value + "').focus();");
254
}
255
}
256
}
257![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
258
/// <summary>
259
/// 获取或设置数据源
260
/// </summary>
261
private object _dataSource;
262
[Bindable(true),Category("Data"),DefaultValue(null),Description("数据"),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
263
public virtual object DataSource
264
{
265
get
266
{
267
return _dataSource;
268
}
269
set
270
{
271
if ((value == null) || (value is IListSource) || (value is IEnumerable))
272
{
273
_dataSource = value;
274
}
275
else
276
{
277
throw new ArgumentException();
278
}
279
}
280
}
281
282
public override void DataBind()
283
{
284
base.OnDataBinding(EventArgs.Empty);
285
DataTable table = (DataTable)this.DataSource;
286
BuildTree(table);
287
}
288
289![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
290
private StyleLook _styleLook;
291
/// <summary>
292
/// 设置控件的样式
293
/// </summary>
294
[Bindable(true), Category("样式"), DefaultValue("")]
295
public StyleLook DropTreeStyle
296
{
297![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
298
set { _styleLook = value; }
299
get { return _styleLook; }
300
}
301
/// <summary>
302
/// 输出html,在浏览器中显示控件
303
/// </summary>
304
/// <param name="output"> 要写出到的 HTML 编写器 </param>
305
protected override void Render(HtmlTextWriter output)
306
{
307
if (this.HintInfo != "")
308
{
309
output.WriteBeginTag("span id=\"" + this.ClientID + "\" onmouseover=\"showhintinfo(this," + this.HintLeftOffSet + "," + this.HintTopOffSet + ",'" + this.HintTitle + "','" + this.HintInfo + "','" + this.HintHeight + "','" + this.HintShowType + "');\" onmouseout=\"hidehintinfo();\">");
310
}
311![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
312
RenderChildren(output);
313![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
314
if (this.HintInfo != "")
315
{
316
output.WriteEndTag("span");
317
}
318
}
319![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
320![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
321![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
322
IPostBackDataHandler 成员
“连个效果图没有,就让人看你那烂代码。来个图先?”,有朋友又在喊了。![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
77
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
78
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
80
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
81
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
82
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
84
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
85
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
86
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
87
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
88
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
89
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
90
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
91
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
92
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
93
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
94
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
95
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
96
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
97
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
98
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
99
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
100
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
101
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
102
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
103
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
104
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
105
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
106
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
107
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
108
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
109
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
110
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
111
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
112
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
113
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
114
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
115
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
116
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
117
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
118
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
119
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
120
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
121
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
122
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
123
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
124
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
125
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
126
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
127
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
128
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
129
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
130
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
131
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
132
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
133
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
134
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
135
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
136
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
137
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
138
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
139
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
140
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
141
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
142
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
143
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
144
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
145
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
146
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
147
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
148
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
149
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
150
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
151
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
152
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
153
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
154
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
155
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
156
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
157
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
158
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
159
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
160
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
161
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
162
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
163
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
164
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
165
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
166
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
167
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
168
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
169
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
170
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
171
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
172
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
173
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
174
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
175
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
176
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
177
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
178
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
179
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
180
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
181
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
182
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
183
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
184
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
185
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
186
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
187
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
188
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
189
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
190
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
191
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
192
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
193
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
194
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
195
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
196
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
197
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
198
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
199
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
200
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
201
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
202
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
203
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
204
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
205
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
206
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
207
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
208
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
209
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
210
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
211
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
212
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
213
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
214
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
215
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
216
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
217
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
218
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
219
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
220
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
221
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
222
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
223
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
224
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
225
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
226
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
227
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
228
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
229
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
230
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
231
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
232
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
233
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
234
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
235
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
236
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
237
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
238
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
239
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
240
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
241
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
242
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
243
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
244
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
245
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
246
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
247
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
248
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
249
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
250
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
251
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
252
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
253
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
254
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
255
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
256
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
257
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
258
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
259
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
260
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
261
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
262
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
263
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
264
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
265
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
266
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
267
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
268
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
269
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
270
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
271
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
272
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
273
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
274
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
275
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
276
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
277
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
278
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
279
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
280
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
281
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
282
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
283
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
284
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
285
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
286
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
287
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
288
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
289
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
290
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
291
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
292
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
293
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
294
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
295
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
296
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
297
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
298
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
299
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
300
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
301
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
302
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
303
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
304
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
305
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
306
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
307
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
308
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
309
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
310
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
311
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
312
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
313
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
314
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
315
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
316
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
317
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
318
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
319
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
320
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
321
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
322
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
好的,图来了。效果1:
![](https://www.cnblogs.com/images/cnblogs_com/ziyan22/DropDownTreeList.jpg)
好的,图来了。效果2:
![](https://www.cnblogs.com/images/cnblogs_com/ziyan22/DropDownTreeList1.jpg)
使用方法:
string SQl = "select * from SYS_T_Menu";
DataTable dt = SqlHelper.ReturnDataTable(SQl);
DropDownTreeList1.NodeTextField = "Menu_Name";
DropDownTreeList1.NodeValueField = "Menu_ID";
DropDownTreeList1.ParentFiledName = "Menu_Father_ID";
DropDownTreeList1.DataSource = dt;
DropDownTreeList1.DataBind();