zoukankan      html  css  js  c++  java
  • 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。


     

  • 相关阅读:
    安装thrift时,注意openssl参数
    Linux下boost编译安装
    super-smack
    算术运算指令
    C/C++中有关字长与平台无关的整数类型
    URLTester2.3.2
    第20课 链接过程简介
    第19课 编译过程简介
    第18课 三目运算符和逗号表达式
    第17课 ++和--操作符分析
  • 原文地址:https://www.cnblogs.com/dingkui/p/2756421.html
Copyright © 2011-2022 走看看