如何根据datagrid 中某一列的数值大小或是否0,使其所在行变色?

解决方案 »

  1.   

    在itemdatabound事件里面判断该列的值,然后改变单元隔的背景色,没做过,只是觉得应该可以
      

  2.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
    {
    if(e.Item.Cells[i].Text=="0")
    {
    e.Item.BackColor=System.Drawing.Color.Red;
    }
    }
    }其中i就是你要比较的列的序列号
      

  3.   

    Private Sub dg_main_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg_main.ItemCreated
            Dim strcolor As String
            Dim id As String        If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then            strcolor = "this.setAttribute('ORG',this.style.backgroundColor);this.style.backgroundColor='" & ctablemousecolor & "'"
                e.Item.Attributes.Add("onmouseover", strcolor)
                e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor=this.getAttribute('ORG');")
            End If    End Sub这个是移上去变色的,改下就可以了