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();
}

 

 

转载于:https://www.cnblogs.com/Kurodo/archive/2011/08/19/2145908.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值