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