新建了一个TreeView,怎么在这个TreeView上显示数据库里的数据,只要开启的时候显示.
然后如果添加了CheckBox,勾选的数据如何保存的?
求高手指教啊.
C#TreeView如何绑定数据库?
答案:2 悬赏:0 手机版
解决时间 2021-02-14 16:22
- 提问者网友:富士山上尢
- 2021-02-13 18:17
最佳答案
- 五星知识达人网友:街头电车
- 2021-02-13 19:07
新建treenode 然后添加到treeview的nodes里面就可以了
全部回答
- 1楼网友:迷人又混蛋
- 2021-02-13 20:27
treeview控件要求绑定到xml数据源上,所以必须设法把数据库中的内存转成xml文件,然后再进行绑定。
首先,在网页中添加一个xmldatasource:
和一个treeview控件:
然后在page_load事件中添加以下代码:
// 连接数据库
sqlconnection conn = new sqlconnection("连接字符串");
sqlcommand cmd = new sqlcommand("select * from 数据表", conn);
conn.open();
sqldatareader reader = cmd.executereader();
// 新建xml文档
xmldocument doc = new xmldocument();
xmlelement root;
xmlelement element;
// 插入xml声明
xmldeclaration dec = doc.createxmldeclaration("1.0", null, "yes");
doc.insertbefore(dec, doc.documentelement);
// 用来记录根节点元素
arraylist elements = new arraylist();
// 插入第一个节点
reader.read();
element = doc.createelement((string)reader["name"]);
elements.add(element);
doc.insertafter(element, dec);
// 插入后面的子节点
while (reader.read())
{
// 创建子节点
element = doc.createelement((string)reader["name"]);
elements.add(element);
// 找到它的父节点,然后添加到父节点下
root = (xmlelement)elements[(int)reader["parent"]-1];
root.appendchild(element);
}
// 保存xml文件
filestream fs = new filestream(@"d:\temp\names.xml", filemode.create);
doc.save(fs);
fs.close();
// 设置xml数据源控件并把它绑定到treeview控件上
xmldatasource1.datafile = @"d:\temp\names.xml";
treeview1.datasource = xmldatasource1;
treeview1.databind();
这样treeview1就绑定了一个从数据库中读出的树结构,并在网页中显示出来。
再说明一下,treeview是不可能绑定到一个关系数据库表的数据源上的,只能绑定到xml数据源或sitemapdatasource。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯