
treeview 绑定数据库
表名为:学校专业表MajorT字段:MajorName专业名称ToCollegeName所属学院想通过TreeView控件绑定专业表,根结点为学院,子结点为相应的专业请问...
表名为:学校专业表MajorT
字段:MajorName专业名称
ToCollegeName所属学院
想通过TreeView控件绑定专业表,根结点为学院,子结点为相应的专业
请问我写的代码该怎么修改?(现在只能显示出一个根结点)还有那写XML文件那的相对路径怎么写?
谢谢!
(不愿看的话,也可另附你们的代码,非常感谢)
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
string collMcName = "select ToCollegeName,MajorName from MajorT";
SqlCommand cmd = new SqlCommand(collMcName,conn);
//新建Xml文档
XmlDocument xmlDoc = new XmlDocument();
XmlElement xmlRoot, xmlElem;
//插入Xml声明
XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0", null, "yes");
xmlDoc.InsertBefore(xmlDec, xmlDoc.DocumentElement);//xmlDoc.DocumentElement获取文档的根
try
{
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
ArrayList alElements = new ArrayList();//用来记录根结点元素
//插入第一个结点
dr.Read();
xmlElem = xmlDoc.CreateElement((string)dr["ToCollegeName"]);
alElements.Add(xmlElem);
xmlDoc.InsertAfter(xmlElem, xmlDec);//xmlElem结点插入到声明xmlDec之后
//插入后面的子结点
while (dr.Read())
{
//创建子结点
xmlElem = xmlDoc.CreateElement((string)dr["MajorName"]);
alElements.Add(xmlElem);
//找到父结点,并添加到其下
xmlRoot = xmlDoc.CreateElement((string)dr["ToCollegeName"]);
xmlRoot.AppendChild(xmlElem);
}
// 保存xml文件
FileStream fs = new FileStream("E:/Teaching_Outline_NMS/Xml/tvXml.xml", FileMode.Create);
xmlDoc.Save(fs);
fs.Close();
XmlDataSource1.DataFile = "E:/Teaching_Outline_NMS/Xml/tvXml.xml";
TreeView1.DataSource = XmlDataSource1;
TreeView1.DataBind();
}
catch(SqlException ex)
{
Response.Write(ex.Message);
}
finally
{
conn.Close();
}
} 展开
字段:MajorName专业名称
ToCollegeName所属学院
想通过TreeView控件绑定专业表,根结点为学院,子结点为相应的专业
请问我写的代码该怎么修改?(现在只能显示出一个根结点)还有那写XML文件那的相对路径怎么写?
谢谢!
(不愿看的话,也可另附你们的代码,非常感谢)
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
string collMcName = "select ToCollegeName,MajorName from MajorT";
SqlCommand cmd = new SqlCommand(collMcName,conn);
//新建Xml文档
XmlDocument xmlDoc = new XmlDocument();
XmlElement xmlRoot, xmlElem;
//插入Xml声明
XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0", null, "yes");
xmlDoc.InsertBefore(xmlDec, xmlDoc.DocumentElement);//xmlDoc.DocumentElement获取文档的根
try
{
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
ArrayList alElements = new ArrayList();//用来记录根结点元素
//插入第一个结点
dr.Read();
xmlElem = xmlDoc.CreateElement((string)dr["ToCollegeName"]);
alElements.Add(xmlElem);
xmlDoc.InsertAfter(xmlElem, xmlDec);//xmlElem结点插入到声明xmlDec之后
//插入后面的子结点
while (dr.Read())
{
//创建子结点
xmlElem = xmlDoc.CreateElement((string)dr["MajorName"]);
alElements.Add(xmlElem);
//找到父结点,并添加到其下
xmlRoot = xmlDoc.CreateElement((string)dr["ToCollegeName"]);
xmlRoot.AppendChild(xmlElem);
}
// 保存xml文件
FileStream fs = new FileStream("E:/Teaching_Outline_NMS/Xml/tvXml.xml", FileMode.Create);
xmlDoc.Save(fs);
fs.Close();
XmlDataSource1.DataFile = "E:/Teaching_Outline_NMS/Xml/tvXml.xml";
TreeView1.DataSource = XmlDataSource1;
TreeView1.DataBind();
}
catch(SqlException ex)
{
Response.Write(ex.Message);
}
finally
{
conn.Close();
}
} 展开
1个回答
展开全部
干吗用XML,费半天劲解析了,再存进XML,再交给程序,让CLR再解析一遍,没必要啊。
直接边解析,边操作TreeView
===============================
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
string collMcName = "select ToCollegeName,MajorName from MajorT";
SqlCommand cmd = new SqlCommand(collMcName, conn);
try
{
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
//禁止刷新
TreeView1.BeginUpdate();
while (dr.Read())
{
//添加第一层TreeNode
TreeNode tn = new TreeNode((string)dr["MajorName"]);
//添加第二层
tn.Nodes.Add((string)dr["ToCollegeName"]);
//添加到TreeView
TreeView1.Nodes.Add(tn);
}
TreeView1.EndUpdate();
}
catch (SqlException ex)
{
Response.Write(ex.Message);
}
finally
{
conn.Close();
}
直接边解析,边操作TreeView
===============================
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
string collMcName = "select ToCollegeName,MajorName from MajorT";
SqlCommand cmd = new SqlCommand(collMcName, conn);
try
{
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
//禁止刷新
TreeView1.BeginUpdate();
while (dr.Read())
{
//添加第一层TreeNode
TreeNode tn = new TreeNode((string)dr["MajorName"]);
//添加第二层
tn.Nodes.Add((string)dr["ToCollegeName"]);
//添加到TreeView
TreeView1.Nodes.Add(tn);
}
TreeView1.EndUpdate();
}
catch (SqlException ex)
{
Response.Write(ex.Message);
}
finally
{
conn.Close();
}

2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询