Ciao a tutti!
Sto usando Razor (NON MVC!) e ho un helper con questo codice, che serve per estrarre dei dati in forma gerarchica.
codice:
@{
var db =Database.Open(App.connDatabase);
var treeViewx = db.Query("SELECT * FROM Cat ORDER BY CatName ASC");
@BuildTreeView(treeViewx,0).ToString()
}
@helperBuildTreeView(IEnumerable<dynamic> data,int catParent,int? idcatparent =0,int level =0,string acc ="")
{
var nodes = data.Where(n => n.IdCatParent== idcatparent).OrderBy(n => n.Id);
var sep ="";
stringCompl="";
// @Html.Raw("<tbody>");
if(nodes.Any())
{
if(nodes.First().IdCatParent!=null)
{
if(level >0)
{
sep =" >> ";
}
}
if(level ==0)
{
//@Html.Raw("<p>");
}
foreach(var node in nodes)
{
var fullText = acc + sep + node.CatName;
// @Html.Raw(string.Format("\r\n<a href=\"{0}\">modifica</a>", node.Id, fullText, selectRecord));
Compl="["+string.Format("{1},{0}", node.Id, fullText)+"],";
//Compl = Compl + Compl;
@BuildTreeView(data, catParent, node.Id, level +1, fullText);
/////
<div>@Compl</div>
}
}
}
}
Funziona bene ma il problema è che vorrei, invece di mostrare a video i risultati con il <DIV>, concatenarli tutti in un unica stringa all'interno di una variabile, così:
codice:
varTree="["Cat1","1"], [["Cat1","1"], ["Cat2","2"]], ...
Sapete darmi una mano?