在用vs2003开发平台的时候,我用的是微软的IE Web控件TreeView;到vs2005中,开发工具自带了一个TreeView控件。后者与前者没有什么联系,带入了动态加载的新功能,即树的结点属性PopulateOnDemand=true,客户端利用XMLHttp Active控件到服务端调用服务,下载所需信息。
动态加载和一次加载各有优缺点。一次加载一次性将全部数据下载到客户端进行展示,只需要一次数据库连接访问,在展示数据量小时有优势。动态加载按需下载数据到客户端展示,要多次访问数据库,有利于数据实时更新,减少服务器内存负载,在数据量很大的时候,有优势。
有人测试,树展示超过5000条数据项时,动态加载占优势。
利用vs2005自带TreeView控件,脚本操作出县问题,作为服务端web控件,可能客户端操作的功能被削弱,本人至今未能找到在客户端进行结点增删等操作的脚本。而IE Web控件TreeView有比较成熟的脚本操作范例可以借鉴。