"国家"和“订单号”使用了显示掩码,使:1.“国家”列的左侧有国旗图标;2.若“接单日期”大于2007.6.1,“订单号”右侧有"New"图标;
操作提示:1.请在"接单日期"处试着输入,使其大于或小于2007.6.1,观察“订单号”右侧图标的变化;2.请按“接单日期”排序;



1.本Treelist的XML描述文件关键部分如下:
...
<Col name="Country" displaymask="leftImage='../treelistdata/flag.zip#' + data+ '.bmp'">国家</Col>
<Col name="OrderID" displayMask="rightImage=if(compareDate(RequiredDate, '2007.6.1')>=0, '../treelistdata/new.bmp', '')">订单号</Col>
...
  第2行表示,flag.zip文件中包含有以Country列的内容命名的bmp文件,所以能自动显示该图标。此外,请注意表达式中用到了图片扩展URL语法;
  第3行稍复杂,是一个日期判断,表示如果RequiredDate(接单日期)大于等于2007.6.1,那么在订单号的右侧显示new.bmp;

2.如果你觉得在XML描述文件中把日期判断写死总是不妥(我们也觉得不妥,因为这影响了XML文件的复用性),那么可以用js动态修改,请试着按一下,看看“New”图标是不是跑到“船名”右侧了? 按钮执行的js函数源码如下:
function changeimage()
{
 //清空“订单号”的displayMask
 AF.func("SetColProp", "orderid  \r\n displaymask \r\n ");
 //在“船名”右侧加图片
 AF.func("SetColProp", "shipname \r\n displaymask \r\n rightImage=if(compareDate(RequiredDate, '2007.6.1')>=0, '../treelistdata/new.bmp', '')");
}
  可见属性是可以动态修改的,你可以把上述函数添加到 OnReady() 事件中,这样Treelist一加载就立即改过来了。
注:列的几乎所有属性都是可以动态更改的,请参考后面的demo中(2.高级应用)有“动态更改属性”的具体演示。