2011-12-15 139 views
0

IM完全新的SharePoint和C#的統計數據,但我得做IM告訴現在:P創建SharePoint列表

目前我想建立一個顯示項目statusses的一些統計數據的web部件。

我們已經建立了兩個列表: 一個列表項目 另一個列表ProjectReports

ProjectReport包含項目參考

我們希望能夠顯示以下內容:

號碼具有狀態RED的項目數量:$ x 狀態黃色的項目數量:$ x 狀態爲綠色的項目數量:$ x

爲此,我們只需要檢查所有項目的最新項目報告。

現實思考:

  • 通過所有ProjectStatus
  • 隨着如果當前項目在數組中存在
  • 檢查,如果目前的狀況是低於存儲在陣列中的狀態更新的每個狀態檢查
  • 如果是這樣,將其替換,如果不能繼續

雖然我真的被困在建立數組我wan噸。我個人來自PHP和IM真的不喜歡與不同類型的多維數組的:P

我做了什麼:

ArrayList arrayItems = new ArrayList(); 
foreach(SPListItem item in allData) 
{ 
    if(arrayItems.Contains(item.GetFormattedValue("Name"))) { 
    // later 
    } else { 
    // Here i need to create the new array, i want to store it like: 
    //arrayItems.add("Name", "latestDate"); 
    } 
} 

正如你所看到的,其明顯對我來說,那就是,是不是加工。我只是非常堅持要搞清楚這件事情。

如果有人能夠指引我走向正確的方向,那將會很棒。我需要尋找什麼,這是'做我想做什麼'的方式'有什麼好處 - 有沒有一種更簡單的解決方案,我根本不知道?

無論如何,在此先感謝!

山姆

回答

1

你會使用鍵集合構建,如Dictionary好得多。

使用代碼:

 var cItems = new System.Collections.Generic.Dictionary<string, DateTime>(); 
     foreach (SPListItem item in allData) 
     { 
      string sName; 
      DateTime dtDate; 

      sName = item.GetFormattedValue("Name"); 
      dtDate = (DateTime)item.GetFormattedValue("latestDate"); 

      if (cItems.ContainsKey(sName)) 
      { 
       // later 
      } 
      else 
      { 
       cItems.Add(sName, dtDate); 
      } 
     } 
+0

謝謝。這是所有我知道什麼是可能的問題。這幾乎是我需要的。非常感謝! – Sam 2011-12-15 20:37:06

相關問題