winform中treeview绑定sql数据库中的数据怎么弄? 在页面中我拖进来一个treeview现在要它跟数据库中的表绑定 跪求代码! 表的字段 string m_orgid;//机构编码 string m_name;//机构名称 string m_UpdateName//上级机构名称 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最好是自己写一个添加NODE的方法 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(); if (dr[i]["parent_id"].ToString() == "") { FillTree(tn, dt); tn.ImageIndex = 0; } 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); tnn.ImageIndex = 1; } node.Nodes.Add(tnn); } } } // 查询using (var conn = new SqlConnection(连接字符串))using (var ada = new SqlDataAdapter()){ conn.Open(); ada.SelectCommand.CommandText = "select m_orgid, m_name, m_UpdateName from 表名"; var dtbl = new DataTable(); ada.Fill(dtbl); Bind(null, dtbl, treeView.Nodes);}// 绑定方法private static void Bind(string p, DataTable dtbl, TreeNodeCollection c){ var drws = dtbl.Select("m_UpdateName" + (p != null ? ("=" + p) : " is null")); foreach (var drw in drws) { var n = new TreeNode((string)drw[1]); n.Tag = drw; c.Add(n); Bind((string)drw[2], dtbl, n.Nodes); }} CS1010: 常量中有换行符 帮想想办法啊~! 求助基诺型彩票 算法 microsoft 的winform c# 的101例子有那人高人知道那里有呀?在线等 询问vs2008+sql2005winform程序发布的问题 关于C#操作lotus notes发送邮件的问题 高分求教,如何把一个窗体挂在一个textbox控件中,详情见内,在线等待 DEV gridcontrol单选求助 谁给我讲讲这个/! 在c#中怎样求出今天是星期几 C#WCF远程连接 如何把这sql变为Linq查询
{
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();
if (dr[i]["parent_id"].ToString() == "")
{
FillTree(tn, dt);
tn.ImageIndex = 0;
}
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);
tnn.ImageIndex = 1;
}
node.Nodes.Add(tnn);
}
}
}
using (var conn = new SqlConnection(连接字符串))
using (var ada = new SqlDataAdapter())
{
conn.Open();
ada.SelectCommand.CommandText = "select m_orgid, m_name, m_UpdateName from 表名";
var dtbl = new DataTable();
ada.Fill(dtbl);
Bind(null, dtbl, treeView.Nodes);
}// 绑定方法
private static void Bind(string p, DataTable dtbl, TreeNodeCollection c)
{
var drws = dtbl.Select("m_UpdateName" + (p != null ? ("=" + p) : " is null"));
foreach (var drw in drws)
{
var n = new TreeNode((string)drw[1]);
n.Tag = drw;
c.Add(n);
Bind((string)drw[2], dtbl, n.Nodes);
}
}