背景:
老板觉得手动在sharepoint designer里面添加checkbox非常的不方便,另添加只有某个组里面的人才可以修改。
分析:
1,用treeview在弹出窗口内显示所有的item。
2,窗口还要随着内容的增加而放大。
实现:
1, 实现把所有的内容添加到treeview:

































































2, 判断当前用户是否在group里面:











3, 当点OK按钮后,查找选中的item,并更新:





























































4, javascript实现窗口调整大小, 这里注意的是,因为是modaldialog窗口,所以用window.resize 函数不起作用。

























另外: 每次修改了document library后, treeview的项目总是无法及时的更新, 需要先清除缓存,不知道是不是treeview的bug.
把这行代码放在page_load事件里面就好了 Context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
效果: