private void 总目录_Load(object sender, EventArgs e)
{
string st2009 = gongyong.strcn;
cn = new SqlConnection(st2009);
DataTable dt;
dt = new DataTable();
//提取一级目录,以后要试着用dataread来做
string strsql = "select distinct 一级目录 from 目录";
SqlDataAdapter da = new SqlDataAdapter(strsql, st2009);
da.Fill(dt);
foreach (DataRow drr in dt.Rows)
{
string stdr = drr[0].ToString();
treeView1.Nodes.Add(stdr,stdr);
treeView1.Nodes[stdr].Tag = 1;
}
//提取二级目录,以后要用dataread来做
dt.Clear();
//打开连接
cn.Open();
strsql = "select distinct 一级目录,二级目录 from 目录";
SqlCommand thiscommand = cn.CreateCommand();
thiscommand.CommandText = strsql;
SqlDataReader thisreader = thiscommand.ExecuteReader();
while (thisreader.Read())
{
TreeNode tn = new TreeNode();
tn.Tag = 2;
tn.Name = thisreader[0].ToString()+thisreader[1].ToString();
tn.Text = thisreader[1].ToString();
treeView1.Nodes[thisreader[0].ToString()].Nodes.Add(tn);
}
//提取三级目录,以后要用dataread来做
thisreader.Close(); //关闭
dt.Clear();
strsql = "select 一级目录,二级目录,三级目录 from 目录";
//SqlCommand thiscommand = cn.CreateCommand();
thiscommand.CommandText = strsql;
thisreader = thiscommand.ExecuteReader();
while (thisreader.Read())
{
TreeNode tn = new TreeNode();
tn.Tag = 3;
tn.Name = thisreader[0].ToString() + thisreader[1].ToString() + thisreader[2].ToString();
tn.Text = thisreader[2].ToString();
treeView1.Nodes[thisreader[0].ToString() + thisreader[1].ToString()].Nodes.Add(tn);
}
}以上代码,在后面treeView1.Nodes[thisreader[0].ToString() + thisreader[1].ToString()].Nodes.Add(tn);
报错了,提示没有对像,高人帮忙看一下,错在那里.
{
string st2009 = gongyong.strcn;
cn = new SqlConnection(st2009);
DataTable dt;
dt = new DataTable();
//提取一级目录,以后要试着用dataread来做
string strsql = "select distinct 一级目录 from 目录";
SqlDataAdapter da = new SqlDataAdapter(strsql, st2009);
da.Fill(dt);
foreach (DataRow drr in dt.Rows)
{
string stdr = drr[0].ToString();
treeView1.Nodes.Add(stdr,stdr);
treeView1.Nodes[stdr].Tag = 1;
}
//提取二级目录,以后要用dataread来做
dt.Clear();
//打开连接
cn.Open();
strsql = "select distinct 一级目录,二级目录 from 目录";
SqlCommand thiscommand = cn.CreateCommand();
thiscommand.CommandText = strsql;
SqlDataReader thisreader = thiscommand.ExecuteReader();
while (thisreader.Read())
{
TreeNode tn = new TreeNode();
tn.Tag = 2;
tn.Name = thisreader[0].ToString()+thisreader[1].ToString();
tn.Text = thisreader[1].ToString();
treeView1.Nodes[thisreader[0].ToString()].Nodes.Add(tn);
}
//提取三级目录,以后要用dataread来做
thisreader.Close(); //关闭
dt.Clear();
strsql = "select 一级目录,二级目录,三级目录 from 目录";
//SqlCommand thiscommand = cn.CreateCommand();
thiscommand.CommandText = strsql;
thisreader = thiscommand.ExecuteReader();
while (thisreader.Read())
{
TreeNode tn = new TreeNode();
tn.Tag = 3;
tn.Name = thisreader[0].ToString() + thisreader[1].ToString() + thisreader[2].ToString();
tn.Text = thisreader[2].ToString();
treeView1.Nodes[thisreader[0].ToString() + thisreader[1].ToString()].Nodes.Add(tn);
}
}以上代码,在后面treeView1.Nodes[thisreader[0].ToString() + thisreader[1].ToString()].Nodes.Add(tn);
报错了,提示没有对像,高人帮忙看一下,错在那里.
treeView1.Nodes[thisreader[0].ToString() + thisreader[1].ToString()].Nodes.Add(tn);
表名是在名字为“thisreader[0].ToString() + thisreader[1].ToString()”第一节点加上第二节点
private void 总目录_Load(object sender, EventArgs e)
{
string st2009 = gongyong.strcn;
cn = new SqlConnection(st2009);
DataTable dt;
dt = new DataTable();
//提取一级目录,以后要试着用dataread来做
string strsql = "select distinct 一级目录 from 目录";
SqlDataAdapter da = new SqlDataAdapter(strsql, st2009);
da.Fill(dt);
foreach (DataRow drr in dt.Rows)
{
string stdr = drr[0].ToString();
treeView1.Nodes.Add(stdr,stdr);
treeView1.Nodes[stdr].Tag = 1;
}
//提取二级目录,以后要用dataread来做
dt.Clear();
//打开连接
cn.Open();
strsql = "select distinct 一级目录,二级目录 from 目录";
SqlCommand thiscommand = cn.CreateCommand();
thiscommand.CommandText = strsql;
SqlDataReader thisreader = thiscommand.ExecuteReader();
while (thisreader.Read())
{
TreeNode tn = new TreeNode();
tn.Tag = 2;
tn.Name = thisreader[1].ToString() + "a";
tn.Text = thisreader[1].ToString();
treeView1.Nodes[thisreader[0].ToString()].Nodes.Add(tn);
}
//提取三级目录,以后要用dataread来做
thisreader.Close(); //关闭
dt.Clear();
strsql = "select 二级目录,三级目录 from 目录";
//SqlCommand thiscommand = cn.CreateCommand();
thiscommand.CommandText = strsql;
thisreader = thiscommand.ExecuteReader();
while (thisreader.Read())
{
TreeNode tn = new TreeNode();
tn.Tag = 3;
string bb = thisreader[0].ToString() + "a";
string cc = thisreader[1].ToString();
tn.Name = bb + cc;
tn.Text = cc;
//string a = treeView1.Nodes[aa + bb].Nodes.Count.ToString();
//TreeNode tnp = treeView1.Nodes[0];
//int i=treeView1.Nodes.Count;
for(int i=0;i<treeView1.Nodes.Count;i++)
{
//MessageBox.Show(treeView1.Nodes[i].Name.ToString());
if (treeView1.Nodes[i].Name.ToString() == bb)
{
treeView1.Nodes[i].Nodes.Add(tn);
}
}
// int i=treeView1.Nodes[aa + bb].Nodes.Count;
//tnp.Nodes.Add("111");
}
}
{
this.TreeView1.Nodes.Clear();
AddTree((int)0, (TreeNode)null); } private void AddTree(int Pid, TreeNode pNode)
{
//第一次查询传参0
itemFolderlist = ItemFolderBLL.GetItemFolderListByParentID(Pid);//查询参数为pid的所有数据 foreach (ItemFolder itemfolder in itemFolderlist)
{
TreeNode node = new TreeNode(); //第一节点为空
if (pNode == null)
{
node.Text = itemfolder.Name;
node.Value = "01";
node.ToolTip = itemfolder.Name;
node.Expanded = true;
node.NavigateUrl = "ItemList.aspx?ItemFolderID=" + itemfolder.ID;
node.Target = "Frame2"; this.TreeView1.Nodes.Add(node);//第一次树加第一节 AddTree(itemfolder.Pid, node);//第一次转参数循环
}
else
{
//第二节至n次
node.Text = itemfolder.Name;
node.Value = "01";
node.ToolTip = itemfolder.Name;
node.Expanded = false;
node.NavigateUrl = "ItemList.aspx?ItemFolderID=" + itemfolder.ID;
node.Target = "Frame2";
pNode.ChildNodes.Add(node);//第二次至n次树加节点 AddTree(itemfolder.Pid, node);//第二次至n转参数循环
}
}