Wednesday, January 30, 2013

How to get the Curently Logged User IP Address

How to get the Curently Logged User IP Address

Note:-
We can use the same logic in SharePoint.



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string strIPAddress = getclientIPAddress();
        Response.Write(strIPAddress);
    }
    public static string getclientIPAddress()
    {
        IPHostEntry host;
        string localIP = "?";
        host = Dns.GetHostEntry(Dns.GetHostName());
        foreach (IPAddress ip in host.AddressList)
        {
            if (ip.AddressFamily.ToString() == "InterNetwork")
            {
                localIP = ip.ToString();
            }
        }
        return localIP;
    }
}

Monday, January 28, 2013

How to get User Defined Fields within a Custom List Type using SharePoint 2010 Event Reiever

Live Task How to get User Defined Fields within a Custom List Type using SharePoint 2010 Event Reiever

ArrayList ArrColumnNames = new ArrayList();
               ArrayList ArrOldValues = new ArrayList();
               SPListItem item = properties.ListItem;
               for (int i = 0; i <= properties.List.Fields.Count - 1; i++)
               {
                   if (!properties.List.Fields[i].Hidden && !properties.List.Fields[i].ReadOnlyField && properties.List.Fields[i].Type != SPFieldType.Attachments && properties.List.Fields[i].Title != "Content Type")
                   {
                       ArrColumnNames.Add(properties.List.Fields[i].StaticName);
                       if (item[properties.List.Fields[i].StaticName] != null)
                       {
                           string strColumnName = properties.List.Fields[i].StaticName.ToString();
                           ArrColumnNames.Add(strColumnName);
                           if(item[strColumnName]!=null)
                           {
                               ArrOldValues.Add(item[strColumnName]).ToString();
                           }
                       }
                   }
               }
               string strSqlServerFieldName = "";
               string strSqlServerOldFieldValue = "";
               for (int j = 0; j < ArrColumnNames.Count - 1; j++)
               {
                   strSqlServerFieldName+= ArrColumnNames[j].ToString()+"!!";
                   strSqlServerOldFieldValue+= ArrOldValues[j].ToString()+"!!";
               }

Getting Column Names, Data Type and Data Dynamically in SharePoint List

Getting Column Names and Data Dynamically in SharePoint List


Ascx
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SpFieldsExUserControl.ascx.cs" Inherits="SpFieldsEx.SpFieldsEx.SpFieldsExUserControl" %>
<style type="text/css">
.HeaderClass
{
    background-color:Green;
    font-weight:bold;
    color:White;
}
.InnerDataClass
{
    background-color:Orange;
    font-weight:bold;
    color:White;
}
.BlankTRClass
{
    background-color:Red;
    height:1px;
}
</style>
<asp:Panel ID="pnlDynamicData" runat="server"></asp:Panel>
Ascx.Cs
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using System.Security;
using System.Collections;
namespace SpFieldsEx.SpFieldsEx
{
    public partial class SpFieldsExUserControl : UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string strBindData = string.Empty;
                string strHeaderData = string.Empty;
                string strInnerData = string.Empty;
                ArrayList arrData = new ArrayList();
                ArrayList arrColumnType = new ArrayList();
                SPWeb currentWeb = SPContext.Current.Web;
                SPList lst = currentWeb.Lists["Employees Data"];
                SPQuery sQuery = new SPQuery();
                sQuery.Query = "<OrderBy><FieldRef Name='ID' /></OrderBy>";
                SPListItemCollection mycoll = lst.GetItems(sQuery);
                int count = 0;
                strHeaderData += "<Tr class='HeaderClass'>";
                if (mycoll.Count > 0)
                {
                    for (int i = 0; i < lst.Fields.Count - 1; i++)
                    {
                        if (!lst.Fields[i].Hidden && !lst.Fields[i].ReadOnlyField && lst.Fields[i].Type != SPFieldType.Attachments && lst.Fields[i].Title != "Content Type")
                        {
                            strHeaderData += "<Td>";
                            strHeaderData += lst.Fields[i].Title;
                            strHeaderData += "</Td>";
                            arrData.Add(lst.Fields[i].StaticName);
                            arrColumnType.Add(lst.Fields[i].Type.ToString());
                            count++;
                        }
                    }
                    strHeaderData += "</Tr>";
                    strBindData += "<Table width='100%' cellpadding='1' cellspacing='0'>";
                    strBindData += "<Tr class='BlankTRClass'>";
                    strBindData += "<Td Colspan='"+count+"'>";
                    strBindData += "</Td>";
                    strBindData += "</Tr>";
                    strBindData += strHeaderData;
                    foreach (SPListItem item in mycoll)
                    {
                        strInnerData += "<Tr class='InnerDataClass'>";
                        for (int k = 0; k < arrData.Count; k++)
                        {
                            strInnerData += "<Td>";
                            if (arrColumnType[k].ToString() == "Lookup")
                            {
                                string strLookUpColumn = item[arrData[k].ToString()].ToString();
                                SPFieldLookupValue strLookUp = new SPFieldLookupValue(strLookUpColumn);
                                strInnerData += strLookUp.LookupValue;
                            }
                            if (arrColumnType[k].ToString() == "DateTime")
                            {
                                DateTime strDtJoingDate=Convert.ToDateTime(item[arrData[k].ToString()]);
                                strInnerData += strDtJoingDate.ToShortDateString();
                            }
                            if (arrColumnType[k].ToString() == "Text")
                            {
                                strInnerData += item[arrData[k].ToString()].ToString();
                            }
                            if (arrColumnType[k].ToString() == "Choice")
                            {
                                strInnerData += item[arrData[k].ToString()].ToString();
                            }
                            strInnerData += "</Td>";
                        }
                        strInnerData += "</Tr>";
                        strInnerData += "<Tr class='BlankTRClass'>";
                        strInnerData += "<Td Colspan='" + count + "'>";
                        strInnerData += "</Td>";
                        strInnerData += "</Tr>";
                   }
                    strBindData += strInnerData;
                    strBindData += "</Table>";
                    for (int l = 0; l < arrColumnType.Count; l++)
                    {
                        Response.Write("The Column Type Of " + arrData[l].ToString()+" is "+ arrColumnType[l].ToString()+"<Br />");
                    }
                    pnlDynamicData.Controls.Add(new LiteralControl(strBindData));
                }
            }
            catch (Exception Ex)
            {
                Response.Write(Ex.ToString());
            }
        }
    }
}

How to use Image as a Bullet in GridView

How to use Image as a Bullet in GridView



How to use Image as a Bullet in GridView

Ascx
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TestGridBFUserControl.ascx.cs" Inherits="TestGridBF.TestGridBF.TestGridBFUserControl" %>
<style type="text/css">
#navlist
{
margin-left: 0;
padding-left: 0;
list-style: none;
}
#navlist li
{
padding-left: 10px;
background-image:url('/Shared Documents/arrow.gif');
background-repeat: no-repeat;
background-position: 0 .5em;
}
</style>
<ul id="navlist">
<asp:GridView ID="dgvBulletList" runat="server" AutoGenerateColumns="False"
        CellPadding="4" EnableModelValidation="True" ForeColor="#333333"
        GridLines="None" Width="100%">
    <AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="Title">
<HeaderTemplate>
Title
</HeaderTemplate>
<ItemTemplate>
<li><%# Eval("Title") %></li>
</ItemTemplate>
<AlternatingItemTemplate>
<li><%# Eval("Title") %></li>
</AlternatingItemTemplate>
</asp:TemplateField>
</Columns>
    <EditRowStyle BackColor="#7C6F57" />
    <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#E3EAEB" />
    <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
</asp:GridView>
</ul>
Ascx.Cs
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using System.Security;
namespace TestGridBF.TestGridBF
{
    public partial class TestGridBFUserControl : UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                getData();
            }
            catch (Exception)
            {
               
                throw;
            }
        }
        public void getData()
        {
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                SPWeb currentWeb = SPContext.Current.Web;
                SPList lst = currentWeb.Lists["Employees"];
                SPListItemCollection myColl = lst.Items;
                if (myColl.Count > 0)
                {
                    dgvBulletList.DataSource = myColl.GetDataTable();
                    dgvBulletList.DataBind();
                }
            });
        }
    }
}