Dev-Gridview中根據條件改變行顏色及單元顏色

 就一功能,沒什麼別的意思,就是記錄着我用DX的一些困難信息集合:

 

只接上代碼,

       //改變行的效果
     private void gridView2_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
        {
            DevExpress.Utils.AppearanceDefault appNotPass1 = new DevExpress.Utils.AppearanceDefault(Color.Black, Color.Salmon, Color.Empty, Color.SeaShell, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            DevExpress.Utils.AppearanceDefault appNotPass2 = new DevExpress.Utils.AppearanceDefault(Color.Black, Color.Yellow, Color.Empty, Color.SeaShell, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);

            DataRow dr = gridView2.GetDataRow(e.RowHandle);
            if (dr != null)
            {
                if (dr["sex"].ToString() == "女" && dr["birthday1"].ToString().Trim() == "55")
                    DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, appNotPass2);
                else if (dr["sex"].ToString() == "男" && dr["birthday1"].ToString().Trim() == "60")
                    DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, appNotPass1);
            }
        }
//改變單元格的應用
        private void gridView2_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
        {

            DevExpress.Utils.AppearanceDefault appNotPass1 = new DevExpress.Utils.AppearanceDefault(Color.Black, Color.Salmon, Color.Empty, Color.SeaShell, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            DevExpress.Utils.AppearanceDefault appNotPass2 = new DevExpress.Utils.AppearanceDefault(Color.Black, Color.Yellow, Color.Empty, Color.SeaShell, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
            if (e.Column.FieldName == "sex")
            {
                DataRow dr = gridView2.GetDataRow(e.RowHandle);
                string strTemp = dr[e.Column.FieldName].ToString().Trim();
                if (!string.IsNullOrEmpty(strTemp))
                {
                    switch (strTemp)
                    {
                        case "男":
                            DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, appNotPass1);
                            break;
                        case "女":
                            DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, appNotPass2);
                            break;
                    }
                }

            }

        }

分別激發是這兩個事件:

RowStyle
RowCellStyle

處理上有小點變化,根據需求然後變化.


DX 官方也有說明


url

http://documentation.devexpress.com/#WindowsForms/CustomDocument758


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章