treeview多层树加载 从数据库里读出DATATABLE,里边有一个项是父节点ID,如何根据这个父节点ID把数据库里的树形结构对应到treeview里,关键是有很多层,每层都.nodes[i].add(tn)的话就得N个.node[].node[].node[],有没有更好的方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.cnblogs.com/SunYu/archive/2010/04/29/1724367.html private void bindTreeView1() { string sql = "select * from dm_category"; DataTable dt = db.ExecuteDataTable(sql, CommandType.Text, null); DataRow[] dr = dt.Select("parent_id is null"); for (int i = 0; i < dr.Length; i++) { TreeNode tn = new TreeNode(); tn.Text = dr[i]["category_name"].ToString(); tn.Tag = dr[i]["id"].ToString(); FillTree(tn, dt); treeView1.Nodes.Add(tn); } } private void FillTree(TreeNode node, DataTable dt) { DataRow[] drr = dt.Select("parent_id='" + node.Tag.ToString() + "'"); if (drr.Length > 0) { for (int i = 0; i < drr.Length; i++) { TreeNode tnn = new TreeNode(); tnn.Text = drr[i]["category_name"].ToString(); tnn.Tag = drr[i]["id"].ToString(); if (drr[i]["parent_id"].ToString() == node.Tag.ToString()) { FillTree(tnn, dt); } node.Nodes.Add(tnn); } } } 刚好,不妨试看http://topic.csdn.net/u/20120717/19/cea2499e-8a49-412f-8897-6b89d92047bf.html 还好你不打算在node上显示一个gridview之类的东西。 sql异常 datagridview 线程1 调用线程2中正在使用的变量可以吗 动态显示图形 richtextbo用 AppendText加东西,怎么会儿就没有反应了呢? 隐藏文件后缀名,类似这样的是怎样作的呢? 《《《《Oracle CLOB 乱码的问题?》》》》 请教时间控件Timer问题,在线,解决即结贴 求助(高分回报)关于新建一个项目时的,“恶意脚本提示” 我用一个textBox得到一个数值,请问如何将它转换成整型或实型? c# treeview控件节点名称,子节点名称限制字数 radiobutton的CheckedChanged事件与Click事件
{
string sql = "select * from dm_category";
DataTable dt = db.ExecuteDataTable(sql, CommandType.Text, null);
DataRow[] dr = dt.Select("parent_id is null");
for (int i = 0; i < dr.Length; i++)
{
TreeNode tn = new TreeNode();
tn.Text = dr[i]["category_name"].ToString();
tn.Tag = dr[i]["id"].ToString();
FillTree(tn, dt);
treeView1.Nodes.Add(tn);
}
} private void FillTree(TreeNode node, DataTable dt)
{
DataRow[] drr = dt.Select("parent_id='" + node.Tag.ToString() + "'");
if (drr.Length > 0)
{
for (int i = 0; i < drr.Length; i++)
{
TreeNode tnn = new TreeNode();
tnn.Text = drr[i]["category_name"].ToString();
tnn.Tag = drr[i]["id"].ToString();
if (drr[i]["parent_id"].ToString() == node.Tag.ToString())
{
FillTree(tnn, dt);
}
node.Nodes.Add(tnn);
}
}
}