2017-01-30 1 views
-5

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 bin

var 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.

+1

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. –

+1

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

+0

Möchten Sie String erstellen? Wenn ja, können Sie mit StringBuilder gehen. Bitte posten Sie einige Ergebnisse, wie Sie erwarten – Vijay

Antwort

0

Sie können Liste oder Sammlung verwenden, um alle Werte zu speichern, mit Add-Operation, um den var-Wert hinzuzufügen.

List<object> repFolderTree = new List<object>(); 
foreach (DataRow row in _dt.Rows) 
    { 

     string strFolderData = row["ReportFolder"].ToString(); 
     var repFolderTree = crcr.GetAllReportsHierarchical(username, strFolderData); 
repFolderTree .Add(repFolderTree); 
     repFolderTree.FolderName = "All Reports"; 
     uxAllCatalogHierarchical.Text = string.Format("<div class=\"hierarchicalCatalog\">{0}</div>", HierarchicalCatalogView(repFolderTree, 0, showFolder)); 
     } 
Verwandte Themen