• All Users in SharePoint Site Custom Webpart


    All Users in SharePoint Site Custom Webpart

    Price (USD): 0.0

    Category: For e.g. WebPart, Workflow, Event Receiver etc.

    This webpart will display all the users from each group in the current site. You can however add a foreach loop for each web (or site) in the site collection to get all the users in a site collection.

    Our Clients is my Site name, so the groups are named as “Our Clients Visitors”, “Our Clients Members” and “Our Clients Owners”.

    Steps :

    1. Create a new webpart project (Side Note : I am using VseWss webpart template)

    2. Add the below code in Webpart.cs file. Dont forget to rename all the webpart files before you deploy.

    Code :

    using System;

    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Serialization;
    using System.Web.UI.WebControls;
    using Microsoft.SharePoint;
    using System.Collections;
    using Microsoft.SharePoint.WebControls;
    using Microsoft.SharePoint.WebPartPages;

    namespace AllUsersWebPart
    {
    [Guid("bb4dddf0-9923-43b9-a835-210735416ddf")]
    public class AllUsers : System.Web.UI.WebControls.WebParts.WebPart
    {
    Label lblName;
    Label lblgroups;
    Table tblAllUsers;

    public AllUsers()
    {}

    protected override void CreateChildControls()
    {
    base.CreateChildControls();

    tblAllUsers = new Table();
    lblgroups = new Label();
    lblName = new Label();

    CreateHeaderRow(); // Will Add a header Row to the Table.

    using (SPSite SPSite = new SPSite(SPContext.Current.Site.ID))
    {
    using (SPWeb SPWeb = SPSite.OpenWeb(SPContext.Current.Web.ID))
    {

    SPUserCollection AllSPWebUsers = SPContext.Current.Web.AllUsers;

    SPGroupCollection AllSPWebGroups = SPContext.Current.Web.Groups;

    //Iterate through each group in the current site.

    foreach (SPGroup grp in AllSPWebGroups)
    {
    SPUserCollection UsersInGroup = grp.Users;

    foreach (SPUser user in UsersInGroup)
    {
    lblName.Text = user.Name;

    foreach (SPGroup usergrp in user.Groups)
    {
    lblgroups.Text = usergrp.Name;
    }

    AddToTable(lblName.Text, lblgroups.Text);
    }
    }}}

    this.Controls.Add(tblAllUsers);
    }
    // Adding users to the Output Table.
    protected void AddToTable(string UserName, string grp)
    {
    TableRow r = new TableRow();

    TableCell CellName = new TableCell();
    CellName.Text = UserName;
    r.Cells.Add(CellName);

    TableCell CellPermissions = new TableCell();
    CellPermissions.Text = grp;
    r.Cells.Add(CellPermissions);

    tblAllUsers.Rows.Add(r);
    }

    // Create a Header Row for the Output table.
    protected void CreateHeaderRow()
    {

    TableHeaderRow headerRow = new TableHeaderRow();
    headerRow.BackColor = System.Drawing.Color.LightBlue;

    TableHeaderCell headerTableCell1 = new TableHeaderCell();
    TableHeaderCell headerTableCell2 = new TableHeaderCell();
    headerTableCell1.Text = “User Name”;
    headerTableCell1.Scope = TableHeaderScope.Column;

    headerTableCell2.Text = “Group”;
    headerTableCell2.Scope = TableHeaderScope.Column;

    headerRow.Cells.Add(headerTableCell1);
    headerRow.Cells.Add(headerTableCell2);

    tblAllUsers.Rows.AddAt(0, headerRow);
    }
    }}

    See the attached Screenshot

    AllUsersWebPart.jpg (8 KB)

  • 相关阅读:
    json
    网页版 treeview使用中遇到的问题
    随机获取一条数据
    oracle
    发送邮件
    DataGrid列的合并
    python简介
    SQLSERVER
    Maven 基础
    Maven 构建jar包
  • 原文地址:https://www.cnblogs.com/ahghy/p/3012238.html
Copyright © 2020-2023  润新知