Ich möchte, dass meine Variable var repFolderTree
alten Wert mit neuem Wert enthält.Neuen Wert im var-Typ mit altem Wert hinzufügen
foreach (DataRow row in _dt.Rows)
{
string strFolderData = row["ReportFolder"].ToString();
var repFolderTree = crcr.GetAllReportsHierarchical(username, strFolderData);
repFolderTree.FolderName = "All Reports";
uxAllCatalogHierarchical.Text = string.Format("<div class=\"hierarchicalCatalog\">{0}</div>", HierarchicalCatalogView(repFolderTree, 0, showFolder));
}
public CrissCrossLib.Hierarchical.CrcReportFolder GetAllReportsHierarchical(string username,string path)
{
var hierItems = GetAllReportsHierarchicalNoCache(username, path);
m_cacheManager.AllReportsHierarchicalCacheByUsername.Add(username, hierItems);
return hierItems;
}
private string HierarchicalCatalogView(CrcReportFolder rootFolder, int level, string showFolder)
{
_dt = _ssrsDAC.GetReportListByUser(Convert.ToInt32(Session["LoginID"]));
StringBuilder sb = new StringBuilder();
sb.Append("<div class=\"folderBox\">");
string scrollTo = "";
if (PathMatch(showFolder, rootFolder.Path))
scrollTo = " scrollToFolder";
sb.AppendFormat("<div class=\"folderName{1}\">{0}</div>", rootFolder.FolderName, scrollTo);
string show = "none";
if (level == 0 || PathContains(showFolder, rootFolder.Path))
show = "block";
sb.AppendFormat("<div class=\"folderChildren\" style=\"display:{0}\">", show);
foreach (CrcReportFolder subFolderLoop in rootFolder.SubFolders)
sb.Append(HierarchicalCatalogView(subFolderLoop, level + 1, showFolder));
foreach (CrcReportItem itemLoop in rootFolder.Reports)
{
string str = itemLoop.DisplayName;
DataRow[] foundAuthors = _dt.Select("ReportName = '" + str + "'");
if (foundAuthors.Length != 0)
{
sb.Append("<div class=\"reportRow\">");
sb.AppendFormat("<a class=\"reportLink vanillaHover\" href=\"Report.aspx?path={0}\" >{1}</a>",
Server.UrlEncode(itemLoop.ReportPath), itemLoop.DisplayName);
if (!string.IsNullOrEmpty(itemLoop.ShortDescription))
sb.AppendFormat("<div class=\"reportInfo\">{0}</div>", itemLoop.ShortDescription);
sb.Append("<div class=\"clear\"></div></div>");
}
}
sb.Append("</div></div>");
return sb.ToString();
}
ich habe eine Kontrolle, wo ich den Wert aller Auflistung bin, dass ich von
immer binvar repFolderTree = crcr.GetAllReportsHierarchical(username, strFolderData);
so dass jedes Mal Schleife nach, dass ich den letzten Wert verloren und enthält den aktuellen Wert. Deshalb möchte ich, dass ich alle der Wert nach der Schleife und binden auf diese Kontrolle bekommen, die ich in dieser dieser Codezeile tue
uxAllCatalogHierarchical.Text = string.Format("<div class=\"hierarchicalCatalog\">{0}</div>", HierarchicalCatalogView(repFolderTree, 0, showFolder));
ich meinen Code denken für Sie einige Szene.
Sie meinen, Sie möchten die Variable herausziehen? Oder möchten Sie eine Liste aller übergebenen Werte erstellen? Beide Fragen werden hier bereits millionenfach beantwortet. –
Diese Frage ergibt keinen Sinn. Bitte denken Sie darüber nach, die Frage umzuformulieren und zeigen Sie auch den Code für GetAllReportsHierarchical an. Was ist der Rückgabetyp? – Ben
Möchten Sie String erstellen? Wenn ja, können Sie mit StringBuilder gehen. Bitte posten Sie einige Ergebnisse, wie Sie erwarten – Vijay