c# - Treeview adding duplicate nodes -


i have tree of depth of 2 follows.

module 1     form 1          tab 1     form 2          tab 2          tab 3     form 2          tab 2          tab 3 module 2     form 4          tab 2     form 5          tab 4          tab 5          tab 6     form 5          tab 4          tab 5          tab 6     form 5          tab 4          tab 5          tab 6 

as shown above, problem that, forms displayed many times tabs have. example, if form 5 has three tabs, displayed thrice. need them displayed once since tabs same.

this code:

private void loadtreeview()     {         string sql = "select module, form, tab, helptext " +                         "from pagehelp " +                         "where module not null";         datatable dt = public_methods.get_datatable(sql);          dataview dvmodules = new dataview(dt, "module not null", "module asc", dataviewrowstate.unchanged);         datatable dtmodules = dvmodules.totable(true, "module");          (int count = 0; count < dtmodules.rows.count; count++)         {             treenode tmodule = new treenode();             tmodule.value = dtmodules.rows[count]["module"].tostring();             tmodule.text = dtmodules.rows[count]["module"].tostring();             tmodule.collapse();              loadforms(ref tmodule, dt);             treeview_edithelp_help.nodes.add(tmodule);                         }     }      private void loadforms(ref treenode tmodule, datatable dt)     {         datarow[] drforms = dt.select("module='" + tmodule.value + "'");          (int count = 0; count < drforms.length; count++)         {             treenode tform = new treenode();             tform.value = drforms[count]["form"].tostring();             tform.text = drforms[count]["form"].tostring();             tform.collapse();              loadtabs(ref tform, dt);             tmodule.childnodes.add(tform);         }     }      private void loadtabs(ref treenode tform, datatable dt)     {         datarow[] drtabs = dt.select("form='" + tform.value + "'");         (int count = 0; count < drtabs.length; count++)         {             treenode ttab = new treenode();             ttab.value = drtabs[count]["tab"].tostring();             ttab.text = drtabs[count]["tab"].tostring();             ttab.collapse();             tform.childnodes.add(ttab);         }     } 

any assistance please?

datarow[] drforms = dt.select("module='" + tmodule.value + "'"); 

change to:

datarow[] drforms = dt.select("module='" + tmodule.value + "'").copytodatatable().defaultview.totable(true,"form").select(); 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -