void GetSubCategory(DbHelper.Subject helper, int schoolId, int categoryId , int paddingPosition) { paddingPosition++; var subCategories = helper.ListSubCategories(schoolId, categoryId); foreach (var cat in subCategories) { var spaces = " "; for (int j = 0; j < paddingPosition * 4; j++) { spaces += " "; } var litem = new ListItem() { Text = spaces + cat.Name }; litem.Attributes.Add("style", "padding-left:" + (paddingPosition * 4) + "px"); var catLink = new LinkButton() { Text = cat.Name , ID = "category_" + cat.Id }; catLink.Click += catLink_Click; catLink.Style.Add("padding-left", ((paddingPosition) * 16) + "px"); pnlCategories.Controls.Add(catLink); GetSubCategory(helper, schoolId, cat.Id, paddingPosition); } }
void GetSubCats(Category.ListUC parentUc, DbHelper.Subject helper, int schoolId, int categoryId, int paddingCount) { #region Function all var edit = Manager; var subcats = helper.ListSubCategories(schoolId, categoryId); var selectedCat = SelectedCategory; for (var s = 0; s < subcats.Count; s++) { var catUc = (Category.ListUC)Page.LoadControl("~/Views/Course/Category/ListUC.ascx"); catUc.Deselect(); catUc.SetNameAndIdOfCategory(subcats[s].Id, subcats[s].Name, paddingCount, edit);//list paddingCount += 1; catUc.NameClicked += catUc_NameClicked; catUc.ID = "category_" + subcats[s].Id; //parentUc.AddSubCategories(catUc); pnlCategories.Controls.Add(catUc); if ((selectedCat == subcats[s].Id && !IsPostBack) || selectedCat == 0) { catUc_NameClicked(catUc, new DataEventArgs() { Id = subcats[s].Id, Name = subcats[s].Name }); catUc.Select(); selectedCat = subcats[s].Id; } GetSubCats(catUc, helper, schoolId, subcats[s].Id, paddingCount); } #endregion }
//earlier code:::: works // Note :: ├ ==>1 , └ ==> 2 . ┌ ==> 3 , │ ==> 4 , empty ==> 0 void GetSubCats(Category.ListUC parentUc, DbHelper.Subject helper, int schoolId, int categoryId, List <int> parentPaddingList) { #region Function all var subcats = helper.ListSubCategories(schoolId, categoryId); var list = new List <int>(); if (subcats.Count > 0) { foreach (var i in parentPaddingList) { list.Add(0); } } var selectedCat = SelectedCategory; for (var s = 0; s < subcats.Count; s++) { var catUc = (Category.ListUC)Page.LoadControl("~/Views/Course/Category/ListUC.ascx"); catUc.Deselect(); list.Add((parentPaddingList[parentPaddingList.Count - 1] == 1) ? 2 : 1); catUc.SetNameAndIdOfCategory(subcats[s].Id, subcats[s].Name, list, false);//list catUc.NameClicked += catUc_NameClicked; catUc.ID = "category_" + subcats[s].Id; //parentUc.AddSubCategories(catUc); pnlCategories.Controls.Add(catUc); if ((selectedCat == subcats[s].Id && !IsPostBack) || selectedCat == 0) { catUc_NameClicked(catUc, new DataEventArgs() { Id = subcats[s].Id, Name = subcats[s].Name }); catUc.Select(); selectedCat = subcats[s].Id; } GetSubCats(catUc, helper, schoolId, subcats[s].Id, list); list.RemoveAt(list.Count - 1); } #endregion }