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
Post a Comment