您好!以下是我的代码,帮看看问题出在哪,谢谢!
private void Bind()
{
try
{
treeView1.Nodes.Clear();
SqlConnection Con = new SqlConnection(Gloable.YJ_ConnectionString);
Con.Open();
string sql = "SELECT MA001, MA002, MA003 FROM EDMMA ORDER BY MA001";
SqlDataAdapter sqlda = new SqlDataAdapter(sql, Con);
sqlda.SelectCommand.CommandTimeout = Gloable.CommandTimeOut;
DataSet ds = new DataSet();
sqlda.Fill(ds);
DataTable dt = ds.Tables[0];
DataRow[] dr = dt.Select("MA003=''");
for (int i = 0; i < dr.Length; i++)
{
TreeViewNode Node = new TreeViewNode();
Node.Checked = false;
Node.Text = dr[i]["MA002"].ToString();
Node.Value = dr[i]["MA001"].ToString();
FillTree(Node, dt);
treeView1.Nodes.Add(Node);
}
ds.Clone();
Con.Close();
treeView1.CollapseAll();
}
catch (Exception ex)
{
throw ex;
}
}
private void FillTree(TreeViewNode node, DataTable dt)
{
DataRow[] drr = dt.Select("MA003='" + node.Value.ToString() + "'");
if (drr.Length > 0)
{
for (int i = 0; i < drr.Length; i++)
{
TreeViewNode child = new TreeViewNode();
child.Checked = false;
child.Text = drr[i]["MA002"].ToString();
child.Value = drr[i]["MA001"].ToString();
if (drr[i]["MA003"].ToString() == node.Value.ToString())
{
FillTree(child, dt);
}
node.Nodes.Add(child);
}
}
}
|