Njae, det är inte riktigt så PadLeft fungerar. Se dokumentationen på MSDN om PadLeft.
Det du antingen får göra är att skriva c.Title.PadLeft(depth + c.Title.Length, '-'). Eller så skriver du new string('-', depth) + c.Title istället.
1 svar · 313 visningar · startad av Dino
...i mina ögon. Har stirrat mig trött på detta. Nedan kod är väl ganska självförklarande.
private void BindList()
{
List<Category> col = Category.GetAllCategories();
if (col == null || col.Count == 0)
return;
BuildTree(col, 0);
}
private void BuildTree(List<Category> col, int depth)
{
foreach (Category c in col)
{
[red][B]ddlParent.Items.Add(new ListItem(c.Title.PadLeft(depth, '-'), c.Id.ToString()));[/B][/red]
if (c.HasChilds)
{
depth++;
BuildTree(c.Childs, depth);
depth--;
}
}
}
Det som krånglar är att c.Title.PadLeft(depth, '-') inte lägger till något.
Det önskade resultatet i detta fall skall vara:
AAA
-AAA1
-AAA2
BBB
men blir
AAA
AAA1
AAA2
BBB
Har kört en Response.Write(depth.ToString() + "<br/>") och den skriver ut:
0
1
1
0
vilket är helt riktigt.
Någon som kan peka ut felet???
Njae, det är inte riktigt så PadLeft fungerar. Se dokumentationen på MSDN om PadLeft.
Det du antingen får göra är att skriva c.Title.PadLeft(depth + c.Title.Length, '-'). Eller så skriver du new string('-', depth) + c.Title istället.