将动态值传递给TreeView的表控件

时间:2013-08-09 16:32:37

标签: c# treeview

我正在使用ASP.NET 4.0在C#中使用Web应用程序。要求是我需要显示组织的分层信息。例如,一名高级经理将在他/她之下拥有一名经理,一名经理将拥有团队负责人,并且每个团队负责人都会有他/她的雇员。需要在TreeView中显示相同的结构。 TreeView中的每个节点都将显示员工的姓名和节点中的记录计数(此计数从数据库中填充)。计数数据需要显示在TreeView的相应节点下的表控件中。如果计数是三个记录,我需要显示一个包含三行的表,这些数据是根据所选的节点ID从数据库中获取的。此表应仅在节点下。我有代码添加表但我无法将动态值传递给查询。

以下是代码:

public class TreeNodeEx : TreeNode
{
    protected override void RenderPostText(HtmlTextWriter writer)
    {
        string connectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString().Trim();
        SqlConnection con = new SqlConnection(connectionString);
        SqlCommand cmd = new SqlCommand("select * from TableA where Name='Krishna'", con);
        con.Open();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds);
        con.Close();
        Table table1 = new Table();

        int rows = 1;
        int cols = 5;
        for (int j = 0; j < rows; j++)
        {
            TableRow r = new TableRow();
            for (int i = 0; i < cols; i++)
            {
                TableCell c = new TableCell();
                c.Controls.Add(new LiteralControl(ds.Tables[0].Rows[j][i].ToString()));
                r.Cells.Add(c);
            }
            table1.Rows.Add(r);
        }
        table1.RenderControl(writer);
        base.RenderPostText(writer);
    }
}

在节点下调用的代码是:

TreeNodeEx n = new TreeNodeEx();    
parent.ChildNodes.Add(n);

这是添加计数的代码:

child.Text = dr["User_Given_Name"].ToString() + " [Records # (" + dsn.Tables[0].Rows[0][0].ToString() + ")]"; child.Value = dr["User_Email"].ToString().Trim();

0 个答案:

没有答案