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。


     

  • 相关阅读:
    [luoguP1098] 字符串的展开(模拟)
    [luoguP1033] 自由落体(模拟?)
    [luoguP1011] 车站(递推)
    [luoguP1097] 统计数字(水)
    [luoguP2672] 推销员(贪心 + 树状数组 + 优先队列)
    [luoguP1043] 数字游戏(DP)
    [luoguP1058] 立体图(超级大模拟(¬︿̫̿¬☆))
    [luoguP1021] 邮票面值设计(DFS + dp)
    POJ 2184 Cow Exhibition (带负值的01背包)
    POJ 2392 Space Elevator (DP)
  • 原文地址:https://www.cnblogs.com/dingkui/p/2756421.html
Copyright © 2011-2022 走看看