ASp.net древовидная справка по JavaScript - PullRequest
0 голосов
/ 20 июня 2011

Я использую C # .Net и хочу знать как выделить выбранный узел дерева, используя JavaScript.

1 Ответ

0 голосов
/ 20 июня 2011

При заполнении дерева вы просто добавляете метод javascript для каждого узла, а затем метод javascript отображает текст узлов в текстовое поле:

protected void Page_Load(object sender, EventArgs e)
{
    SqlConnection sqlconn = new SqlConnection("--Your sql connection--");
    sqlconn.Open();

    DataSet ds = new DataSet();
    SqlDataAdapter cmd = new SqlDataAdapter("SELECT * FROM --The table with your info--",sqlconn);
    cmd.Fill(ds, "region");
    DataTable dt = ds.Tables[0];

    PopulateNodes(dt, TreeView1.Nodes);
}

private void PopulateNodes(DataTable dt, TreeNodeCollection nodes)
{
    string temp = "";

    foreach (DataRow dr in dt.Rows)
    {
        TreeNode tn = new TreeNode();

        tn.Text = dr["Location"].ToString();
        tn.Value = dr["Location"].ToString();
        if (temp != tn.Text)
        {
            temp = tn.Text;
            //tn.SelectAction = TreeNodeSelectAction.Expand;
            tn.NavigateUrl = "javascript:tree('" + dr["--Column--"].ToString() + "')";
            nodes.Add(tn);
            AddChildNodes(dt, tn.ChildNodes, dr["--Column--"].ToString());
        }
    }
}

private void AddChildNodes(DataTable dt, TreeNodeCollection node, string p)
{
    foreach (DataRow dr in dt.Rows)
    {
        TreeNode tn = new TreeNode();

        if ((string)dr["Location"] == p)
        {
            tn.Text = dr["SubLocation"].ToString();
            tn.Value = dr["SubLocation"].ToString();
            tn.NavigateUrl = "javascript:tree('" + dr["--Column--"].ToString() + "')";
            node.Add(tn);
        }
    }
}

Javascript:

function tree(text) {
    document.getElementById('<%=TextBox1.ClientID %>').value = text.valueOf();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...