2016-11-22 110 views
-3

我有一個查詢,其中包含十六進制代碼,並且當有一個十六進制代碼我想將背景顏色應用於我的表中的以前的數據,但它的書面錯誤:System.Collections.Generic.List`1 [System.String]

背景色:System.Collections.Generic.List`1 [System.St環]

於每行中我的源代碼。

這裏是我的代碼:

<tr> 
      @{ 
       int nbItems = ViewBag.listDonnees.Count; 
       var hashCodes = new List<String>() { "#FFFFFF", "#FFD700", "#FF6347" }; 

       for (int cpt = 0; cpt < nbItems; cpt++) 
       { 
        string colorcode = string.Empty; 
        if (cpt + 1 < nbItems) 
        { 
         var mylist = (IEnumerable <dynamic>) ViewBag.listDonnees[cpt]; 
         colorcode = mylist.FirstOrDefault(s => hashCodes.Contains(s)); 
        } 
        if (colorcode != string.Empty) 
        { 
         <td style="background-color:@ViewBag.listDonnees[cpt+1]">colorcode</td> 
        } 
        else 
        { 
         var str = String.Join(",", ViewBag.listDonnees[cpt]); 
         <td>str</td> 
        } 
        cpt++; 
       } 
      } 
     </tr> 

而且我想在當前的數據和listDonnees替換 「的ColorCode」 是一個List <列表<字符串>>

我的模型:

dac = new SqlDataAdapter(); 
      dac.SelectCommand = cmd1; 

      dsp = new DataSet(); 
      dac.Fill(dsp, "donnees"); 

      List<List<string>> listDonnees = new List<List<string>>(); 

      foreach (DataRow row in dsp.Tables["donnees"].Rows) 
      { 
       List<string> l = new List<string>(); 

       for (int i = 0; i < row.ItemArray.Length; i++) 
       { 
        l.Add(row[i].ToString()); 
       } 

       listDonnees.Add(l); 
      } 
      list.Add("donnees", listDonnees); 

我的控制器:

 public ActionResult AfficheRspic002(string Tdate_d, string Ddl_fampic, string Ddl_donnee, string Ddl_detail, string Ddl_caracteristique, string Ddl_poste, string Ddl_ilot, string Ddl_nposte, string Ddl_atelier, string Ddl_tposte) 
    { 
     Dictionary<string, object> list = model.getPICv2(Tdate_d,Ddl_fampic, Ddl_donnee, Ddl_detail, Ddl_caracteristique, Ddl_poste, Ddl_ilot, Ddl_nposte, Ddl_atelier, Ddl_tposte); 

     ViewBag.listEntete = list["entete"]; 
     ViewBag.listJO = list["jo"]; 
     ViewBag.listPrevision = list["prevision"]; 
     ViewBag.listCommandeEt = list["commande"]; 
     ViewBag.listDonnees = list["donnees"]; 

     return PartialView(); 
    } 

預先感謝您的幫助

+2

爲什麼不把所有這些邏輯放在控制器中? –

+0

你可以在控制器中顯示你的'ViewBag.listDonnees'嗎? – Perdido

+0

因爲我認爲這是張貼的問題。我編輯我的帖子 –

回答

0

至於你提到

listDonnees是一個List <列表<字符串>>字符串

那當然,@ViewBag.listDonnees[cpt+1]會名單。您應該在ViewBag中存儲顏色代碼,而不是顏色代碼列表。

可能是如果你發佈你如何從列表中選擇顏色,那麼我們可以給你更具體的答案。

相關問題