Public void bindtreeview (datatable DT, ref Treeview tvname)
{
// Datatable. defaultview. Sort ("nodeseq, parentnode ");
Tvname. nodes. Clear ();
// Create the root node
Datarow [] parentrow = DT. Select ("parentnode = '0'", "nodeseq ");
Treenode rootnode = new treenode ();
Rootnode. Text = parentrow [0] [3]. tostring ();
Rootnode. Name = parentrow [0] [4]. tostring (); // The value of the primary key
Rootnode. Expand ();
// Rootnode. Selected = true;
Tvname. nodes. Add (rootnode );
Createchildnode (rootnode, DT );
}
Public void createchildnode (treenode parentnode, datatable)
{
Datarow [] rowlist = able. Select ("parentnode = '" + parentnode. Name. tostring () + "'", "nodeseq, parentnode ");
Foreach (datarow row in rowlist)
{
// Create a node
Treenode node = new treenode ();
Node. Name = row ["nodename"]. tostring ();
Node. Text = row ["treenode"]. tostring ();
Node. Expand ();
// Parentnode. childnodes. Add (node );
Parentnode. nodes. Add (node );
Createchildnode (node, datatable); // recursive call to find its own subnode
}
}
Client code:
Strsql = "select * From pal_mes_treenode where appname = 'pal _ mes 'and formname = 'frmstreadymaterial' and treename = 'tvline '";
Datatable = cesql. getdatatable (strsql );
Ccmrule. bindtreeview (datatable, ref tvline );
Tvline. expandall ();
Tvline. selectednode = tvline. nodes [0]. nodes [0];
Tvline. Focus ();