3

我正在使用 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();
4

0 回答 0