2015-07-10 36 views
1

我有這段代碼,它工作正常,並突出標籤。但是,我希望它突出顯示整個單元格,而不僅僅是標籤。asp.net-在列表視圖中突出顯示單元

任何幫助,將不勝感激!

protected void HighLight_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     Label TotalTimeLabel = (Label)e.Item.FindControl("TotalTime"); 
     if (TotalTimeLabel != null) 
     { 
      Decimal Total; 
      if (Decimal.TryParse(TotalTimeLabel.Text, out Total) == true) 
      { 
       if (Total > (Decimal)1.5) 
       { 
        TotalTimeLabel.BackColor = System.Drawing.Color.Red; 
        TotalTimeLabel.ForeColor = System.Drawing.Color.Black; 
       } 
      } 
     } 
    } 
} 

該表的代碼是下面

<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1" OnItemDataBound="HighLight_ItemDataBound" > 
     <LayoutTemplate> 
      <table cellpadding="1" class="TableCSS" runat="server" id="tblProducts"> 
       <tr runat="server" style="background-color:lightgrey"> 
       <th runat="server">enNotificationNoNI</th> 
       <th runat="server">TotalTime</th> 
       <th runat="server">TPTIMEIN</th> 
       <th runat="server">Status</th> 
       </tr> 
       <tr runat="server" id="itemPlaceholder" /> 
      </table> 
     </LayoutTemplate> 
     <ItemTemplate> 
      <tr runat="server" class="TableData"> 
      <td> 
       <asp:Label ID="enNotificationNoNI" runat="Server" Text='<%#Eval("enNotificationNoNI") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="TotalTime" runat="Server" Text='<%#Eval("TotalTime") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="TPTIMEIN" runat="Server" Text='<%#Eval("TPTIMEIN") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="Status" runat="Server" Text='<%#Eval("Status") %>' /> 
      </td> 
      </tr> 
     </ItemTemplate> 
    </asp:ListView> 
+0

你能發佈aspx頁面代碼嗎? –

+0

添加了它適用的表,我希望這將是一個簡單的上下文切換,但我遇到了很多麻煩 – Cory

回答

1

嘗試此代碼

對於整行

Control ctrl = TotalTimeLabel.Parent.Parent; 
HtmlTableRow tblrw = (HtmlTableRow)ctrl; 
tblrw.BgColor = System.Drawing.Color.Red.Name; 

對於一個小區

Control ctrl = TotalTimeLabel.Parent; 
HtmlTableCell tblcl = (HtmlTableCell)ctrl; 
tblcl.BgColor = System.Drawing.Color.Red.Name; 

讓我知道這是否工作:)

+0

只是試了一下,它不工作。沒有錯誤 – Cory

+0

它爲我工作!你把它放在最深的IF條件下嗎? –

+0

剛看了一遍,我的樣式表就在干擾它。但是,這突出了整個行!任何想法只是突出顯示細胞? – Cory

相關問題