| 1.第一列是通过js动态插入的，仅用于勾选，实现了时下流行的勾选式删除操作； 2.切换到以树显示，并让勾选列和第一列(树的排序列)合并显示： . 3.多行选择(curselmode="rows")状态下的表现形式： (注意shift、Ctrl + 鼠标左键 的用法);

| 4.其它功能演示：按表达式快速删除选中行： (注：源码为 AF.func("DeleteRows", "checked=1");) 5.其它功能演示：Checkbox 的交互方式：

1.查看创建该TreeList的XML描述文件，关注实现旋转背景色、4色表头的<Properties>部分； 2.源码分析：
    <script language="JavaScript">
     function OnReady(id)
     {
      AF.func("Build", "treelist/t17.xml");
      AF.func("Load", "treelistdata/data.txt");
      //在第一列位置插入新列
      AF.func("InsertCol", "0\r\nname=checked;isCheckboxOnly=true");
     }
     function deletechecked()
     {
      //删除符合表达式的行
      AF.func("DeleteRows", "checked=1");
     }
    </script>
当然，不是说勾选的列必须动态插入，本例只是演示了动态插列功能。 其实在很多场合都用得到动态增删列，以提高XML文档的复用率。 3.Checkbox和树的排序列合并显示，这也是一种常见的场景，实现很简单：
    function combine()
    {
     AF.func("SetProp", "sort \r\n country a,shipcity a");	//排序
     AF.func("SetProp", "isTree \r\n true");  //切换成树
     AF.func("SetColProp", "checked \r\n TreeCombine \r\n auto,node");  //合并
    }
里面关键是第五行，当然，你也可以将 TreeCombine 直接写到XML中. 4.列的单选 有一种需求是： 要求只能选一行，其它行能自动清除选择，相当于在垂直方向保持单选。你在html中加入如下源码，看看效果怎样：
    function OnEvent(id, Event, p1, p2, p3, p4)
    {
     if(id == 'AF' && Event=='EditChanged') {
      if(p2 == 'checked') {
       AF.func("SetColCellData", p2+ "\r\n");
       AF.func("SetCellData", p1+ "\r\n" +p2+ "\r\n1");
      }
     }
    }