2012-05-29 34 views
0

我想改變,特別condition.My代碼行的背景色是如何根據條件突出顯示列表視圖中的行?

<asp:ListView ID="lst_SentItems" runat="server" ItemPlaceholderID="tr" OnItemDataBound="lst_SentItems_ItemDataBound"> 
           <LayoutTemplate> 
            <table cellspacing="0"> 
             <tr class="hdrRowColor1"> 
              <td align="left" width="180px"> 
               EmpName 
              </td> 
              <td align="left" width="180px"> 
               Salary 
              </td> 
              <td align="left" width="180px"> 
               Address 
              </td> 
              <td align="left" width="180px"> 
               Department 
              </td> 
              </tr> 
             <tr id="tr" runat="server"> 
             </tr> 
            </table> 
           </LayoutTemplate> 
           <ItemTemplate> 
            <tr class='<%# Convert.ToBoolean(Container.DataItemIndex % 2) ? "EvenRowColor" : "OddRowColor" %>'> 
              <td align="left"> 
               <asp:label id="lbl3" runat="server" text='<%# Eval("EmpName")%>' /> 

              </td> 
              <td align="left"> 

'/>

          </td> 
              <td align="left"> 
               <asp:label id="lbl1" runat="server" text='<%# Eval("Address")%>' /> 

              </td> 
              <td align="left"> 
               <asp:label id="lbl" runat="server" text='<%# Eval("Department")%>' /> 
              </td> 

            </tr> 
           </ItemTemplate> 
          </asp:ListView> 

現在我想給顏色以特定的部門一樣,如果人是從賬戶如果人屬於IT部門,那麼該行的背景顏色應該是紅色,那麼背景顏色應該是綠色的。 我已經嘗試過了一些代碼的ItemDataBound但代碼只改變labels.i的回地面要換行回ground.That代碼

protected void lst_SentItems_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     Label lblCount = (Label)e.Item.FindControl("lbl"); 
     if (lblCount != null) 
     { 
      if (lblCount.Text == IT2") 
      { 
          lblCount.BackColor = System.Drawing.Color.Red; 
      } 
     } 
    } 
} 

回答

2

視力檢查:這只是一個想法和編輯它根據您的要求。

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     ListViewDataItem dataitem = (ListViewDataItem)e.Item; 
     int policyid = (int)DataBinder.Eval(dataitem.DataItem, "EmpID"); 
     if (policyid == 3) 
     { 
      HtmlTableRow cell = (HtmlTableRow)e.Item.FindControl("MainTableRow"); 

      cell.Style.Add("background-color", "Red"); 
     } 
    } 
} 
相關問題