I have tried for a recursive tree.
Please help me.
Here is my code:
Please help me.
Here is my code:
Code:
private void PopulateReport()
{
List<ListItems> siteData = new List<ListItems>();
DataTable dt = GetAllData4();
foreach (DataRow dr in dt.Rows)
{
siteData.Add(new ListItems(int.Parse(dr["MainId"].ToString()),dr["MainName"].ToString(),int.Parse(dr["SecondId"].ToString()),dr["SecondName"].ToString(),int.Parse(dr["ThirdId"].ToString()),dr["ThirdName"].ToString()));
}
var nodes = siteData.Find(x => x.MainId ==int.Parse(dt.Rows[0]["MainId"].ToString()));
if (nodes != null)
{
RadTreeNode radTreeNode = new RadTreeNode(nodes.MainName, nodes.MainId.ToString());
radTree1.Nodes.Clear();
radTree1.Nodes.Add(radTreeNode);
BindTree(siteData, radTreeNode);
}
}
private void BindTree(IEnumerable<ListItems> list, RadTreeNode parentNode)
{
var nodes = list.Where(x => parentNode == null ? x.MainId == 0 : x.MainId ==int.Parse(parentNode.Value));
foreach (var node in nodes)
{
RadTreeNode radTreeNode = new RadTreeNode(node.MainName, node.MainId.ToString());
if (parentNode == null)
{
radTree1.Nodes.Add(radTreeNode);
}
else
{
parentNode.Nodes.Add(radTreeNode);
}
BindTree(list, radTreeNode);
}
}
public DataTable GetAllData4()
{
return GetDataTable(@"SELECT T1.*,T2.SECONDID,T2.SECONDNAME,T3.THIRDID,T3.THIRDNAME FROM T1 INNER JOIN T2 ON T1.MAINID=T2.MAINID
LEFT OUTER JOIN T3 ON T2.SecondId=T3.SecondId ORDER BY T1.MAINID");
}
public class ListItems
{
private int _mainId;
private string _mainName;
private int _secondId;
private string _secondName;
private int _thirdId;
private string _thirdName;
public int MainId
{
get { return _mainId; }
set { _mainId=value ; }
}
public string MainName
{
get { return _mainName; }
set { _mainName = value; }
}
public int SecondId
{
get { return _secondId; }
set { _secondId = value; }
}
public string SecondName
{
get { return _secondName; }
set { _secondName = value; }
}
public int ThirdId
{
get { return _thirdId; }
set { _thirdId = value; }
}
public string ThirdName
{
get { return _thirdName; }
set { _thirdName = value; }
}
public ListItems(int mainId,string mainName,int secondId,string secondName,int thirdId,string thirdName)
{
_mainId = mainId;
_mainName = mainName;
_secondId = secondId;
_secondName = secondName;
_thirdId = thirdId;
_thirdName = thirdName;
}
}