zoukankan      html  css  js  c++  java
  • XAF 如何自定义PivotGrid单元格显示文本?

    using System;
    using System.Collections.Generic;

    using DevExpress.ExpressApp;
    using DevExpress.XtraPivotGrid;
    using DevExpress.ExpressApp.PivotGrid.Win;
    using DevExpress.ExpressApp.Model;

    namespace DXExample.Module
    {
        
    public class Q326025Controller : ViewController<ListView>
        {
            
    private const string PivotGridListEditorKey = "PivotGridListEditor";

            
    private void Q326025Controller_FieldValueDisplayText(object sender, PivotFieldDisplayTextEventArgs e)
            {
                
    string displayText = GetDisplayText(e.Field, e.Value);
                
    if (!string.IsNullOrEmpty(displayText))
                {
                    e.DisplayText 
    = displayText;
                }
            }
            
    private void Q326025Controller_CustomCellDisplayText(object sender, PivotCellDisplayTextEventArgs e)
            {
                
    string displayText = GetDisplayText(e.DataField, e.Value);
                
    if (!string.IsNullOrEmpty(displayText))
                {
                    e.DisplayText 
    = displayText;
                }
                
    if(e.Value != null)
                {
                    
    switch (int.Parse(e.Value.ToString()))
                    {
                        
    case -1:
                            e.DisplayText 
    = "正常班";
                            
    break;
                        
    case -2:
                            e.DisplayText 
    = "事假";
                            
    break;
                    }
                }
            }

            
    private PivotGridListEditor PivotGridListEditor
            {
                
    get { return View.Editor as PivotGridListEditor; }
            }

            
    protected virtual string GetDisplayText(PivotGridFieldBase field, object value)
            {
                
    if (field != null && value != null && value.GetType() == typeof(bool))
                {
                    IModelMember modelMember 
    = View.Model.ModelClass.FindMember(field.FieldName);
                    
    if (modelMember != null)
                    {
                        
    if ((bool)value)
                        {
                            
    if (!string.IsNullOrEmpty(modelMember.CaptionForTrue))
                            {
                                
    return modelMember.CaptionForTrue;
                            }
                        }
                        
    else
                        {
                            
    if (!string.IsNullOrEmpty(modelMember.CaptionForFalse))
                            {
                                
    return modelMember.CaptionForFalse;
                            }
                        }
                    }
                }
                
    return null;
            }
            
    protected override void OnViewChanging(View view)
            {
                
    base.OnViewChanging(view);
                Active.RemoveItem(PivotGridListEditorKey);
                
    if (view is ListView)
                {
                    Active[PivotGridListEditorKey] 
    = ((ListView)view).Editor is PivotGridListEditor;
                }
            }
            
    protected override void OnViewControlsCreated()
            {
                
    base.OnViewControlsCreated();
                ((PivotGridControl)(PivotGridListEditor.PivotGridControl)).CustomCellDisplayText 
    += new
        PivotCellDisplayTextEventHandler(Q326025Controller_CustomCellDisplayText);
                ((PivotGridControl)(PivotGridListEditor.PivotGridControl)).FieldValueDisplayText 
    += new
        PivotFieldDisplayTextEventHandler(Q326025Controller_FieldValueDisplayText);
            }
            
    protected override void OnDeactivated()
            {
                ((PivotGridControl)(PivotGridListEditor.PivotGridControl)).CustomCellDisplayText 
    -= new
        PivotCellDisplayTextEventHandler(Q326025Controller_CustomCellDisplayText);
                ((PivotGridControl)(PivotGridListEditor.PivotGridControl)).FieldValueDisplayText 
    -= new
        PivotFieldDisplayTextEventHandler(Q326025Controller_FieldValueDisplayText);
                
    base.OnDeactivated();
            }
        }

    } 

  • 相关阅读:
    手把手教你用jQuery Mobile做相册
    一篇文章教会你用Python爬取淘宝评论数据(写在记事本)
    [C#] (原创)一步一步教你自定义控件——01,TrackBar
    性能测试系列(4)-进程和线程的区别
    熊海CMS_1.0 代码审计
    Web Security Academy ___XXE injection___Lab
    关于路径存储的常见优化——前向星与链式前向星
    2020.7.27考试D1T2:方块消除(Block)
    2020.7.27考试D1T1:Cow Pie Treasures
    【DP水题】P4823 [TJOI2013]拯救小矮人
  • 原文地址:https://www.cnblogs.com/Tonyyang/p/2115226.html
Copyright © 2011-2022 走看看