2012-07-24 66 views
2

我有一個綁定的gridview。如何突出Gridview中的最大值

而且即使存在重複,我也想更改最長提前期的字體顏色。我不知道如何寫我的if語句。

這是我想要做的粗略想法,雖然我知道這段代碼是錯誤的。

if Max(LeadTime) Then 

GridView.ForeColor = Color.Red 

任何人都可以幫我嗎?

回答

3

您首先需要從數據源獲取最大值。你可以使用LINQ做到這一點:

maxLeadTime = ds.Max(dsi => dsi.LeadTime) 

在綁定的事件處理程序的項目數據,與最大值比較綁定項:

if (item.LeadTime == maxLeadTime) 
{ 
    /* do stuff */ 
} 
+0

對不起

Private maxVal As Decimal Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Me.Page.IsPostBack Then dim dt as datatable = GetTable() maxVal = ds.AsEnumerable.Max(Function(dr) dr("lead_time")) gv.DataSource = dt gv.DataBind() End If End Sub Private Sub gv_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then Dim dr As DataRowView = e.Row.DataItem If dr("lead_time") = maxVal Then e.Row.BackColor = Drawing.Color.Red End If End If End Sub 

如果你綁定到(的T)

列表,網頁載入這將是相同的我可以知道什麼是dsi? – 2012-07-24 09:14:40

+0

dsi是傳遞到[lambda表達式](http://msdn.microsoft.com/zh-cn/library/bb397687.aspx)的項目的別名。 – 2012-07-24 09:55:18

0

(VB.NET版)假設你是結合你網格到一個數據表,這是你將如何做到這一點。

maxVal = urList.Max(Function(x) x.LeadTime) 

行數據綁定:

Dim uc As urClass = e.Row.DataItem 
     If uc.LeadTime = maxVal Then 
      e.Row.BackColor = Drawing.Color.Red 
     End If 
相關問題