有Table
结构
A1,A2,A3,CorlorID
显示到datagrid 里面
当ColorID=1 时着行显示红色
ColorID=2 时显示兰色
ColorID=3 时显示绿色
怎么办?需要各位高手帮忙

解决方案 »

  1.   

    在itembound事件里进行循环遍历DATAGIRD的集合判断
      

  2.   

    Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
            For Each item As DataGridItem In DataGrid1.Items
                Select Case item.Cells(3).Text
                       Case "1"
                            item.BackColor=Color.Red
                      ....这里自己去构造。。
               End Select
            Next
        End Sub
      

  3.   

    using System;
    using System.Web.UI.WebControls;
    namespace WebProvince
    {
    /// <summary>
    /// 状态着色
    /// </summary>
    public struct StateColor
    {
    public string State;
    public string CssColor;
    } #region DataGridItem BackColor Modiy By State DataGridColor
    /// <summary>
    /// DataGridItemColorModiy
    /// </summary>
    public class DataGridColor
    {
    //-------------------------------------------------------成员------------------------------------------------------
    private int m_StateCol;
    private StateColor[] m_StateInfo;
    //-------------------------------------------------------属性------------------------------------------------------
    /// <summary>
    /// 状态所在DataGrid列号
    /// </summary>
    public int StateCol
    {
    get{return m_StateCol;}
    set{m_StateCol = value;}
    }
    /// <summary>
    /// 状态信息
    /// </summary>
    public StateColor[] StateInfo
    {
    get{return m_StateInfo;}
    set{m_StateInfo = value;}
    }
    //--------------------------------------------------------构造-----------------------------------------------------
    /// <summary>
    /// 构造
    /// </summary>
    /// <param name="iStateNum">状态数</param>
    public DataGridColor(int iStateNum)
    {
    m_StateCol = 0;
    m_StateInfo = new StateColor[iStateNum];
    for (int i = 0; i < iStateNum; i ++)
    {
    m_StateInfo[i].State = "260";
    m_StateInfo[i].CssColor = "dgColor";
    }
    }
    //-------------------------------------------------------方法------------------------------------------------------
    /// <summary>
    /// 改变DataGrid
    /// </summary>
    /// <param name="dgOp"></param>
    public void ChangeDataGrid(ref DataGrid dgOp)
    {
    //每列状态
    for(int i = 0; i < dgOp.Items.Count; i++)
    {
    //状态判断
    for(int j = 0; j < StateInfo.Length; j++)
    {
    if (dgOp.Items[i].Cells[m_StateCol].Text == StateInfo[j].State)
    {
    dgOp.Items[i].CssClass = m_StateInfo[j].CssColor;
    break;
    }
    }
    }
    }
    }
    #endregion}