sps 2007 小问题1:人员选择器PeopleEditor如何使用

要在MOSS中开发一个有用户选择功能的页面或webpart,就要用到 PeopleEditor 控件了

页面声明如下:
<% @ Register Tagprefix = " SharePoint "  Namespace = " Microsoft.SharePoint.WebControls "  Assembly = " Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c "   %>   <% @ Register Tagprefix = " Utilities "  Namespace = " Microsoft.SharePoint.Utilities "  Assembly = " Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c "   %>
<% @ Import Namespace = " Microsoft.SharePoint "   %>
< SharePoint:PeopleEditor  id ="PeopleEditor1"  runat ="server"
    SelectionSet
="User"
    ValidatorEnabled
="true"
    AllowEmpty 
= "false"
    MultiSelect 
= "true"
/>
这样,就能显示出标准的用户选择界面了.

接下来,我们如何获取选择的用户数据呢?
 ArrayList list  =  PeopleEditor1.ResolvedEntities ;
 
// 获取id和显示名称
foreach  (Microsoft.SharePoint.WebControls.PickerEntity p  in  list)
{
   
string  userId  =  p.EntityData[ " SPUserID " ].ToString();
   
string  DisplayName  =  p.EntityData[ " DisplayName " ].ToString();               
 }           
// 获取帐号
ArrayList selectedAccoutList  =  PeopleEditor1.Accounts;
 
string  selectedAccouts2  =  PeopleEditor1.CommaSeparatedAccounts;

设置初始选中用户:
 PeopleEditor1.CommaSeparatedAccounts  =   @" JYSERVER/spsadmin,JYSERVER/administrator " ;

测试代码需要在moss的环境中运行,页面放入_layouts文件夹,或写到webpart中。

下面是一个完整的测试用webpart:
// test code by jianyi0115@163.com
//  2008-11-10
//
//
using  System;
using  System.Collections;
using  System.Text;
using  sharepoint  =  Microsoft.SharePoint.WebControls ;
using  wss  =  Microsoft.SharePoint.WebPartPages;
using  System.Web.UI.WebControls  ;
using  System.Runtime.InteropServices;
using  Microsoft.SharePoint;

namespace  PeoplePickerTest
{
    [Guid(
" 8D64A4D3-8C9F-4a44-9720-611A701C0B79 " )]
    
public   class  MyPeoplePicker : wss.WebPart                
    {
        
private  Microsoft.SharePoint.WebControls.PeopleEditor PeopleEditor1;
        
private  Button btn;

        
protected   override   void  CreateChildControls()
        {
            
base .CreateChildControls();
            PeopleEditor1 
=   new  Microsoft.SharePoint.WebControls.PeopleEditor();
            Controls.Add(PeopleEditor1);
            btn 
=   new  Button();
            btn.Text 
=   " test " ;
            Controls.Add(btn);
            btn.Click 
+=   new  EventHandler(btn_Click);
         }
 
        
void  btn_Click( object  sender, EventArgs e)
        {
            Page.Response.Write( PeopleEditor1.CommaSeparatedAccounts );

            ArrayList list 
=  PeopleEditor1.ResolvedEntities ;
            
// 获取id和显示明
             foreach  (Microsoft.SharePoint.WebControls.PickerEntity p  in  list)
            {
                
string  userId  =  p.EntityData[ " SPUserID " ].ToString();
                
string  DisplayName  =  p.EntityData[ " DisplayName " ].ToString();               
            }           

            
// 获取帐号
            ArrayList selectedAccoutList  =  PeopleEditor1.Accounts;
            
string  selectedAccouts2  =  PeopleEditor1.CommaSeparatedAccounts;
            
// 设置值
            PeopleEditor1.CommaSeparatedAccounts  =   @" JYSERVER/spsadmin,JYSERVER/administrator " ;
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值