对“打造基于jQuery的高性能TreeView”的扩展
2009-10-28 00:00:00 来源:WEB开发网说明一下:公有方法,只需要传入id数组就行了,两个重载的私有方法辅助选中项。还原时要注意的是:父项被选中,则所有的子项都选中,子项都没有选中则父项也不选中,子项有选中,但没有全选,则父项是半选状态。
现在我们修改 GetTreeData.ashx 中的代码,来实现选项还原:
//
tdata.SelectItem(new int[] {2,3,4,5,6,7,8 });
tdata.ChildNodes[tdata.ChildNodes.Count - 1].complete = true;
context.Response.Write(tdata.ToJsonString());
效果:
看就这么一句 tdata.SelectItem(new int[] {2,3,4,5,6,7,8 }); 是不是很方便?
第五:对从数据库的取数据扩展
在平常的项目中,城市分级,商品类别分级、目录结构等,以及部门等都需要这样的数据树来达到直观的显示效果,现在我们以从级分类为例子,从数据库读取数据,并生成相应的json 数据。当然了,你每次要用到时候都象上面那样写也行,如果要想重用,并且使用时候修改尽量的少,那么最好是进行扩展。
在我们的项目中,用到较多的多级分类列表的数据表设计基本都差不多,在这里我们设计一个简单的但常见的表结构来存放分类数据,并最终实现从数据库中提取数据并生成需要的 json 数据。
数据表脚本如下:
/**//* -- 生成表的脚本 -- */
CREATE TABLE [dbo].[TreeList](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Text] [nvarchar](50) NULL,
[Parent] [int] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TreeList] ADD CONSTRAINT [DF_TreeList_Parent] DEFAULT ((0)) FOR [Parent]
GO
更多精彩
赞助商链接