Impossible is nothing

记录在sharepoint工作中的经验

博客园 首页 新随笔 联系 订阅 管理
  26 Posts :: 1 Stories :: 36 Comments :: 1 Trackbacks

背景:
       老板觉得手动在sharepoint designer里面添加checkbox非常的不方便,另添加只有某个组里面的人才可以修改。

分析:
       1,用treeview在弹出窗口内显示所有的item。
       2,窗口还要随着内容的增加而放大。

实现:
1, 实现把所有的内容添加到treeview:

Code

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

Code

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

Code


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

Code


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

效果:

posted on 2008-01-20 16:07 Lordan 阅读(311) 评论(6)  编辑 收藏 网摘 所属分类: Moss

Feedback

#1楼  2008-01-25 17:21 sugeng [未注册用户]
GOOD
  回复  引用    

#2楼  2008-01-25 17:29 sugeng [未注册用户]
这些代码放到哪里?

  回复  引用    

#3楼 [楼主] 2008-01-25 20:58 Lordan      
@sugeng

这个文件代码根据前篇的feature创建menu的url属性那里定义,我是放在Layout下面的.
  回复  引用  查看    

#4楼  2008-01-31 11:37 sugeng [未注册用户]
实现把所有的内容添加到treeview:怎么调用GetListItems, 参数怎么初始化?treeview是这个system.web.ui.webcontrols.treeview吗?

  回复  引用    

#5楼 [楼主] 2008-01-31 22:14 Lordan      
@sugeng
页面初始化的时候调用GetListItems, 三个参数: splist可以根据前面的listid取得, SPFolder为初始时的rootfolder, TreeNode 是新建的.
对的, 是MS的系统控件
  回复  引用  查看    

#6楼  2008-02-01 21:39 sugeng [未注册用户]
SPSite mySite = SPContext.Current.Site;
SPWeb myWeb = SPContext.Current.Web;
SPList myList = myWeb.Lists["document"];
SPFolder myFolder = myList.RootFolder;
TreeNode myNode = new TreeNode();
GetListItems(myList, myFolder,myNode);
TreeView1.Nodes.Add(myNode);
我这样调用GetListItems,但是显不了子目录,只能显示根目录下的文件.且把要目录下的子目录当成了文件.我这样写的问题在哪呀? 谢谢指教
  回复  引用    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-07-17 14:37 编辑过
Google站内搜索



相关文章:

相关链接: