• AX2009 Grid行显示不同颜色


    根据不同的条件,分别用不同的颜色来标记行。

    1,创建一个表来维护不同条件对应的颜色,如图:

    通过下拉对照颜色来选择需要的颜色

    实现代码

    View Code
    //init refresh datasource
    public void init()
    {
        super();
        IWS_ColourSetup_ds.research();
    }
    
    //override grid  displayOption method
    public void displayOption(IWS_ColourSetup _table, FormRowDisplayOption _options)
    {
        _options.backColor(_table.SelectColour);
    
        super(_table, _options);
    }
    
    //override grid active method
    public int active()
    {
        int ret;
    
        ret = super();
    
        grid.activeBackColor(IWS_ColourSetup.SelectColour);
    
        return ret;
    }
    
    //override lookup
    public void lookup()
    {
        super();
        element.setColor(SysFormRun::colorLookup(element,IWS_ColourSetup.SelectColour));
    }
    //handle method
    void setColor(OLE_Color _color)
    {
        IWS_ColourSetup colourSetup;
    ;
        IWS_ColourSetup.SelectColour = _color;
        IWS_ColourSetup_ds.write();
    
        for (colourSetup = IWS_ColourSetup_ds.getFirst();
             colourSetup;
             colourSetup = IWS_ColourSetup_ds.getNext())
            if (colourSetup.RecId == IWS_ColourSetup.RecId)
                IWS_ColourSetup_ds.clearDisplayOption(colourSetup);
    
        IWS_ColourSetup_ds.refreshEx(-1);
        IWS_ColourSetup_ds.active();
    
    }

    note:1,对照颜色字段最好继承标准的GanttColorId数据类型,2,在grid下对该字段的属性有如下设置,ColorScheme属性设置为RGB,LookButton属性设置为always

    如果我们只需要对某一列的单元格来标记颜色而不是整行标记,系统有一个方法能帮我们实现

     _options.affectedElementsByControl(IWS_stockHolderProfit.id());该方法表示只对该列产生影响(通过字段对应的控件控制)

    _options.affectedElementsByField(FidldNum(...............));该方法表示只对该列产生影响(通过字段控制)

    note:要得到效果,前提条件是将该控件的ColorScheme属性设置为RGB。


     

  • 相关阅读:
    20172302 201720182 《程序设计与数据结构》实验二报告
    20172302 201720182 《程序设计与数据结构》实验一报告
    20172302 《程序设计与数据结构》第五周学习总结
    POJ 1061 青蛙的约会
    hdu 2485 Highways
    UVA 10608
    hdu 1213 how many tables
    java类static成员加载顺寻
    C# virtual,override或者new
    vs无法在WEB服务器上启动调试
  • 原文地址:https://www.cnblogs.com/dingkui/p/2756421.html
Copyright © 2020-2023  润新知