Devexpress GridView 數據格式化顯示


 gridView1.CustomColumnDisplayText += gridView1_CustomColumnDisplayText;
 void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
        {
            if (e.Column.FieldName == "State")
            {
                switch (e.DisplayText)
                {
                    case "0":
                        e.DisplayText = "有效";
                        break;
                    case "1":
                        e.DisplayText = "無效";
       
                        break;
                }
            }
        }

 

    void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            var currentView = sender as GridView;
            if (currentView != null && e.RowHandle == currentView.FocusedRowHandle) return;
            Rectangle r = e.Bounds;
            if (e.Column.FieldName == "F_State")
            {
                if (e.CellValue.ToString().Equals("False"))
                {
                    e.Appearance.ForeColor=Color.Red;
                    e.Appearance.DrawString(e.Cache,e.DisplayText,r);
                    e.Handled = true;
                }
} }

或者以下面的這種形式也可以的、


還有一個就是改變行的顏色
在對GridControl綁定好數據后:
No.1:右鍵GridControl選擇Run Designer;
No.2:Appearance下Style Conditions點擊Add,需要注意的是每一個變色條件都得Add一個變色方案;
No.3:在Properties中需要用到的屬性依次往下詳解為:
a)Appearance下BackColor=255.255.128,BackColor2=255.255.128,此項指定符合特定條件時單元格/行背景顏色,如果兩項設置顏色不同時則為漸變效果;



要是每次都這樣設置也太不方便了。。所以我又封裝了一個方法
        public void SetColumnFormatCell(object value1, object value2,Color backColor1,Color backColor2,GridColumn gridColumn,FormatConditionEnum formatType,GridView gridView)
        {
            var styleFormatCondition1 = new StyleFormatCondition();
            styleFormatCondition1.Appearance.BackColor = backColor1;
            styleFormatCondition1.Appearance.BackColor2 =backColor2;
            styleFormatCondition1.Appearance.Options.UseBackColor = true;
            styleFormatCondition1.Column = gridColumn;
            styleFormatCondition1.Condition = formatType;
            styleFormatCondition1.Expression = "true";
            styleFormatCondition1.Value1 = value1;
            styleFormatCondition1.Value2 = value2;
            gridView.FormatConditions.Add(styleFormatCondition1);
        }
調用:
  var dev=new DataGridControlHelper();
      dev.SetColumnFormatCell("無效","無效",Color.Red,Color.Red,gridColumn03,FormatConditionEnum.Equal,gridView1);
        


 雖然效果是出來了。但是我覺得效率很差。
要是有那位網友有更好的方案。請分享一下。謝謝


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM