zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    LeetCode 252. Meeting Rooms
    LeetCode 161. One Edit Distance
    LeetCode 156. Binary Tree Upside Down
    LeetCode 173. Binary Search Tree Iterator
    LeetCode 285. Inorder Successor in BST
    LeetCode 305. Number of Islands II
    LeetCode 272. Closest Binary Search Tree Value II
    LeetCode 270. Closest Binary Search Tree Value
    LeetCode 329. Longest Increasing Path in a Matrix
    LintCode Subtree
  • 原文地址:https://www.cnblogs.com/ahghy/p/3012238.html
Copyright © 2011-2022 走看看