2017-01-30 2 views
-5

Я хочу, чтобы моя переменная var repFolderTree сохраняла старое значение с новым значением.Добавить новое значение в var type со старым значением

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(); 

     } 

У меня есть контроль, где я перечисляю все значение, которое я получаю от

var repFolderTree = crcr.GetAllReportsHierarchical(username, strFolderData); поэтому каждый раз после того, как петля, что я потерял последнее значение и содержит текущее значение. поэтому я хочу, что я могу получить все значения после цикла и свяжете на этом элементе управления, что я делаю в этой этой строке кода

uxAllCatalogHierarchical.Text = string.Format("<div class=\"hierarchicalCatalog\">{0}</div>", HierarchicalCatalogView(repFolderTree, 0, showFolder)); 

я думаю, что мой код делает некоторые сцены для вас.

+1

Вы хотите, чтобы вытащить переменную? Или вы хотите составить список всех пройденных значений. Ответы на оба вопроса здесь уже миллион раз. –

+1

Этот вопрос не имеет никакого смысла. Пожалуйста, перефразируйте вопрос, а также покажите код для GetAllReportsHierarchical, каков тип возврата? – Ben

+0

Вы хотите построить String? Если это так, вы можете пойти с StringBuilder. Пожалуйста, опубликуйте некоторые результаты, которые, как вы ожидаете, – Vijay

ответ

0

Вы можете использовать List или Collection, чтобы сохранить все значения, с помощью операции Add, чтобы добавить значение var.

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)); 
     } 
Смежные вопросы