2013-10-30 264 views
0

我有一個函數和asp.net;請參閱第一個函數中的註釋作爲問題。gridview列單元格背景顏色取決於單元格值

或者如果我的方法不好,請分享您的想法。對asp.net來說是新的。 =)

protected String DelayedText(object base__id_with_time, object file_name_with_time) 
{ 
    DateTime _dateTime1= Convert.ToDateTime(base__id_with_time); 
    DateTime _dateTime2= DateTime.ParseExact(file_name_with_time, "dd-MM-yyyy-HH-mm-ss", CultureInfo.InvariantCulture); 
    int timeDifference = DateTime.Compare(_dateTime1 , _dateTime2); 
    if (timeDifference >= 1) 
    { 
     //how to set that certain gridview cell's background color to red here please? 
    } 
    return timeDifference.ToString(); 
} 


<asp:TemplateField HeaderText="Delayed" ItemStyle-Width="10%"> 
    <ItemTemplate> 
     <asp:Label ID="DelayedCheck" runat="server" Text='<%# DelayedDeliveryText(Eval("CreateDate"),Eval("FileName"))%>' 
      /> 
    </ItemTemplate> 
</asp:TemplateField> 

任何想法的讚賞。謝謝=)

+0

你不能在RowDataBound事件中做它嗎?如果你有條件,那麼它只是e.Row.Cells [yourCellIndex] .BackColor = Color.Red; – jannagy02

+0

@ jannagy02你能更具體嗎?另外,還有我想跳過的行。例如,如果該行的名稱具有字符串「abc」。那麼我只想跳到下一行。但在那種情況下,需要再次傳遞數據庫內容。 – user2751691

回答

0

這是你的解決方案。根據你的代碼:讓Gridview名稱是「grvData」

//how to set that certain gridview cell's background color to red here please? 
foreach (GridViewRow row in grvData.Rows) 
{ 
     Label lblDelayedCheck= ((Label)row.FindControl("DelayedCheck")).Text; 
     lblDelayedCheck.Cells[CellIndexNo].BackColor = Color.Red; 
} 
相關問題