绑定Treeview控件问题 [英] Bind Treeview Control Problem

查看:77
本文介绍了绑定Treeview控件问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hi Team,





我想绑定treeview控件。我已将此表数据相关联。



SAMAccountName 电子邮件显示名称报告级别



nafees.ahmed nafees.ahmed@ibtechnology.com NAFEES AHMED 0

sameerkhanna sameerkhanna@ibtechnology.com SAMEER KHANNA nafees.ahmed 1

juned.mohd juned.mohd @ ibtechnology.com Mohd Juned sameerkhanna 2

rana.samir rana.samir@ibtechnology.com Samir Rana sameerkhanna 2

harkesh.deshwal harkesh.deshwal@ibtechnology.com Harkesh Deshwal sameerkhanna 2

satish.k5 satish.k5@ibtechnology.com Satish Kumar sameerkhanna 2





我想要在级别基础上绑定树视图。请帮忙并建议我。





提前致谢

Hi Team,


I want to bind treeview control. I have related this table data.

SAMAccountName Email Display Name Reporting To Level

nafees.ahmed nafees.ahmed@ibtechnology.com NAFEES AHMED 0
sameerkhanna sameerkhanna@ibtechnology.com SAMEER KHANNA nafees.ahmed 1
juned.mohd juned.mohd@ibtechnology.com Mohd Juned sameerkhanna 2
rana.samir rana.samir@ibtechnology.com Samir Rana sameerkhanna 2
harkesh.deshwal harkesh.deshwal@ibtechnology.com Harkesh Deshwal sameerkhanna 2
satish.k5 satish.k5@ibtechnology.com Satish Kumar sameerkhanna 2


I want to bind treeview on level basis. Please help and suggest me.


Thanks in advance

推荐答案

加价:

markup:
<form id="form1" runat="server">
    <div>
        <asp:TreeView runat="server" ID="tvw">
        </asp:TreeView>
    </div>
    </form>





code bebind:



code bebind:

public partial class TestPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
    DataTable result = GetData();
    var dt = result.AsDataView();
    dt.Sort = "Level";
          
    //tvw.Nodes.Add(new TreeNode("Root", "-1"));

    TreeNode node = null;
    int previousLevel = 0;
    TreeNodeCollection coll = null;// = tvw.Nodes[0].ChildNodes;

    foreach (DataRowView row in dt)
    {
        int level = int.Parse(row["Level"].ToString());

        if (level > previousLevel)
        {
            previousLevel = level;
            coll = node.ChildNodes;
        }
        node = AddNodes(coll, level, row);
    }
}

private DataTable GetData()
{
    var dt = new DataTable();
    dt.Columns.Add("UserId");
    dt.Columns.Add("Email");
    dt.Columns.Add("FullName");
    dt.Columns.Add("Level");

    var row = dt.NewRow();
    row["UserId"] = "nafees.ahmed";
    row["Email"] = "nafees.ahmed@ibtechnology.com";
    row["FullName"] = "NAFEES AHMED";
    row["Level"] = 0;
    dt.Rows.Add(row);

    row = dt.NewRow();
    row["UserId"] = "sameerkhanna";
    row["Email"] = "sameerkhanna@ibtechnology.com";
    row["FullName"] = "SAMEER KHANNA";
    row["Level"] = 1;
    dt.Rows.Add(row);

    row = dt.NewRow();
    row["UserId"] = "juned.mohd";
    row["Email"] = "juned.mohd@ibtechnology.com";
    row["FullName"] = "Mohd Juned	sameerkhanna";
    row["Level"] = 2;
    dt.Rows.Add(row);

    row = dt.NewRow();
    row["UserId"] = "nafees.ahmed";
    row["Email"] = "nafees.ahmed@ibtechnology.com";
    row["FullName"] = "NAFEES AHMED";
    row["Level"] = 0;
    dt.Rows.Add(row);

    row = dt.NewRow();
    row["UserId"] = "rana.samir";
    row["Email"] = "rana.samir@ibtechnology.com";
    row["FullName"] = "Samir Rana	sameerkhanna";
    row["Level"] = 2;
    dt.Rows.Add(row);

    row = dt.NewRow();
    row["UserId"] = "harkesh.deshwal";
    row["Email"] = "harkesh.deshwal@ibtechnology.com";
    row["FullName"] = "Harkesh Deshwal sameerkhanna";
    row["Level"] = 2;
    dt.Rows.Add(row);

    row = dt.NewRow();
    row["UserId"] = "satish.k5";
    row["Email"] = "satish.k5@ibtechnology.com";
    row["FullName"] = "Satish Kumar	sameerkhanna";
    row["Level"] = 2;
    dt.Rows.Add(row);

    return dt;
}

private TreeNode AddNodes(TreeNodeCollection nodes, int level, DataRowView r)
{
    var item = new TreeNode()
    {
        Text = string.Concat("(", r["Level"].ToString(), ") ", r["UserId"].ToString(), r["Email"].ToString(), r["FullName"].ToString()),
        Value = r["Level"].ToString()
    };
    if (null == nodes)
    {
        tvw.Nodes.Add(item);
                
    }
    else
    {
        nodes.Add(item);
    }
    return item;
}
}





您实现了什么,级别代码树视图填充,上面的代码将执行此操作。这里我使用带有模拟数据的自定义数据表,但您需要从数据库中填充它。看到输出后我没有发现这个树视图的任何含义。请告诉我这是您的要求或不同的东西。



What you achieve, level wise code tree view population, above code will do this. Here I use custom datatable with mock data but you need to populate it from database. After seen the output i do not find any meaning of this tree view. Please let me know is this your requirements or something different.


这篇关于绑定Treeview控件问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆