前面提到给生产BOM增加一个状态,表示各个部门的修改状态,今天用户又提出,想看到五颜六色的生产订单,生产BOM在不同的修改阶段用不同的颜色表示,人还是对颜色这东西比较敏感。AX的优势在于快速开发,对于一些不用太多时间就可以搞定的东西,与其费力气去劝说用户,还不如花一两分钟时间实现他们的需求,然后让他们自己去衡量利弊,当他们自己意识到原来自己想象中的效果实现后还不如之前的时候,他们就会欣然接受你的主意。
1.窗体ProdTable数据源ProdTable的displayOption方法:
Code
public void displayOption(Common _record, FormRowDisplayOption _options)
{
ProdTable prodTableLocal;
int backColor;
;
prodTableLocal = _record;
switch(prodTableLocal.AlxProdBOMStatus)
{
case AlxProdBOMStatus::Init:
case AlxprodBOMStatus::Completed:
{
backColor = WinAPI::RGB2int( 255,255,255 );
break;
}
case AlxProdBOMStatus::ProdInit:
{
backColor = WinAPI::RGB2int(255,255,0);
break;
}
case AlxProdBOMStatus::ProdCompleted:
{
backColor = WinAPI::RGB2int(0,128,128);
break;
}
case AlxProdBOMStatus::PurchInit:
{
backColor = WinAPI::RGB2int(125,128,125);
break;
}
case AlxProdBOMStatus::PurchCompleted:
{
backColor = WinAPI::RGB2int(90,0,128);
break;
}
}
_options.backColor(backColor);
super(_record,_options);
} 2.修改数据源ProdTable的write方法,在方法的最后增加如下两行:
prodTable_ds.clearDisplayOption(prodTable);
prodTable_ds.refresh();
效果如下:
怎么样?够花的吧?哈哈,等用户的眼睛被晃得受不了的时候再改回克...