AX 2009 表格下勾选的编辑行

Grid下的CheckBox

在AX下,想要获取已勾选的CheckBox,要通过Map来实现,以下给出一个获取类,调用和使用。

class FormMarkupClass
{
    Map                mapMark;

    
public NoYes editMark(
    boolean      _set,
    Common       _common,
    NoYes        _mark)
    {
    NoYes   click;

    
if (! mapMark)
        
this.initMapMark();

    
if (_set)
    {
        
if (_mark)
        {
            mapMark.insert(_common.RecId,_common);
            click 
= NoYes::Yes;
        }
        
else
        {
            
if (mapMark.exists(_common.RecId))
                mapMark.remove(_common.RecId);

            click 
= NoYes::No;
        }
    }
    
else
        click 
= mapMark.exists(_common.RecId);

    
return click;
    }

    
int elements()
    {
        
if (mapMark)
            
return mapMark.elements();
        
else
            
return false;
    }

    Map getMap()
    {
        
return mapMark;
    }

    MapEnumerator getMapEnumerator()
    {
        
return mapMark.getEnumerator();
    }

    MapIterator getMapIterator()
    {
       MapIterator it 
= new MapIterator(mapMark);
       ;
       
return  it;
    }

    
public void initMapMark(container _con = connull())
    {
        mapMark 
= (_con) ? Map::create(_con) : new Map(typeId2Type(typeid(recId)), Types::Record);
    }

    NoYes isMarked(Common _common)
    {
        
if (mapMark != null )
        {
           
return mapMark.exists(_common.RecId);
        }
        
return NOyes::No;
    }
}

窗体初始化方法对其初始化

 

public void init()
{
    super();

    g_FormMarkup 
= new FormMarkupClass();
    g_FormMarkup.initFormMarkup();
}

 

数据源添加display方法

 

edit NoYes included(boolean    set, ModelApply   _model, NoYes   _included)
{
    
return g_FormMarkup.editMark(set, _model, _included);
}

 

调用

void clicked()
{

   MapIterator    m_mapItor;
   ModelApply     m_Model;
   ;

   m_mapItor
= g_FormMarkup.getMapIterator();

    
while (m_mapItor.more())
    {
        update_recordset m_Model
         setting
            ModelClass 
= ModelClass::RedSend
         
where 
            m_Model.RecId
== m_mapItor.key();
        m_mapItor.next();
    }
    Model_ds.executeQuery();
}

 

 

posted @ 2011-08-19 16:25  Kurodo  阅读(336)  评论(0编辑  收藏  举报