如何用treeview表示一个数据库的信息,有主键 C#treeview数据库 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void add_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("Data Source=.; Initial Catalog=Tree;Integrated Security=True;"); SqlCommand cmd = new SqlCommand("select * from People", conn); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { //这里相当于每次读取一条记录,自然一般要求对应生成一个节点 TreeNode node = new TreeNode(); node.Text = reader["id"].ToString(); node.Tag = reader["id"].ToString();//Tag 一般用来保存主键的值,为了将来用 this.treeView1.Nodes.Add(node); // ---当然一般情况下,TreeNode节点应该还有其下的子节点,那就是 -- //node.Text = reader["name"].ToString(); //node.Tag = reader["name"].ToString(); //node.Text = reader["sex"].ToString(); //node.Tag = reader["sex"].ToString(); //node.Nodes.Add(node); //需要再次遍历数据库的另外多条记录 //node.Nodes.Add(node); //this.treeView1.SelectedNode.Nodes.Add("name"); //this.treeView1.SelectedNode.Nodes.Add("sex"); } reader.Close(); conn.Close(); } TreeNode node = new TreeNode(); node.Text = reader["id"].ToString(); node.Tag = reader["id"].ToString();//Tag 一般用来保存主键的值,为了将来用 TreeNode nameNode = new TreeNode(); nameNode .Text = reader["name"].ToString(); nameNode .Tag = reader["name"].ToString(); TreeNode sexNode = new TreeNode(); sexNode .Text = reader["sex"].ToString(); sexNode .Tag = reader["sex"].ToString(); node.Nodes.Add(nameNode ); node.Nodes.Add(sexNode ); this.treeView1.Nodes.Add(node); // ---当然一般情况下,TreeNode节点应该还有其下的子节点,那就是 -- http://www.cnblogs.com/duhongyu216/articles/1702591.html c# paint事件中无法手动释放Graphics资源 希望指点 xpath相关 关于saveFileDialog1.OpenFile()的小问题... 奇怪的需求~希望有经验的帮解决下~ 请问时间类型能进行加减法吗? C# web service与sql数据库连接的问题,高手来 如何把我的事件处理函放在事件队列的第一个执行? 菜鸟的问题:请问在C#下如何调用C编写的dll。 OdbcCommand如何使用存储过程? 如何用一个图像a产生别一个图像b,这个b是A大小的一半,用什么方法进行缩放(不是用DrawImage). tcptrace怎么监听服务端收到的报文 C#数据上传问题
{
SqlConnection conn = new SqlConnection("Data Source=.; Initial Catalog=Tree;Integrated Security=True;");
SqlCommand cmd = new SqlCommand("select * from People", conn);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
//这里相当于每次读取一条记录,自然一般要求对应生成一个节点
TreeNode node = new TreeNode();
node.Text = reader["id"].ToString();
node.Tag = reader["id"].ToString();//Tag 一般用来保存主键的值,为了将来用
this.treeView1.Nodes.Add(node); // ---当然一般情况下,TreeNode节点应该还有其下的子节点,那就是 --
//node.Text = reader["name"].ToString();
//node.Tag = reader["name"].ToString();
//node.Text = reader["sex"].ToString();
//node.Tag = reader["sex"].ToString();
//node.Nodes.Add(node); //需要再次遍历数据库的另外多条记录
//node.Nodes.Add(node);
//this.treeView1.SelectedNode.Nodes.Add("name");
//this.treeView1.SelectedNode.Nodes.Add("sex");
}
reader.Close();
conn.Close();
}
TreeNode node = new TreeNode();
node.Text = reader["id"].ToString();
node.Tag = reader["id"].ToString();//Tag 一般用来保存主键的值,为了将来用
TreeNode nameNode = new TreeNode();
nameNode .Text = reader["name"].ToString();
nameNode .Tag = reader["name"].ToString(); TreeNode sexNode = new TreeNode();
sexNode .Text = reader["sex"].ToString();
sexNode .Tag = reader["sex"].ToString();
node.Nodes.Add(nameNode );
node.Nodes.Add(sexNode );
this.treeView1.Nodes.Add(node); // ---当然一般情况下,TreeNode节点应该还有其下的子节点,那就是 --