Wednesday 19 November 2014

Add values to the different types of Fields in the SharePoint List Pragramatically - C#


In SharePoint list we have different types of fields.

While we insert data into the field, use field names are internal name of the field, don't use display name.

In the following snippets show how to add values to different types of fields in the SharePoint list:

Field Type - Single Line Text :

    listItem["ColumnName1"] = "value1";    // here "value" is the  data into the field.

Field Type - Multiple Line Text :

    listItem["ColumnName2"] = "value2";

Field Type - Boolean:

    listItem["ColumnName"] = "Yes" / true / "No" / false ;    //insert one value only :)


Field Type - Choice:

    listItem["ColumnName3"] = list.Fields["ColumnName3"].GetFieldValue(myChoice);

Field Type - Number:

    listItem["ColumnName4"] = value4;

Field Type - Currency:

   listItem["ColumnName5"] = "value5";

Field Type - Date and Time:

   listItem["ColumnName6"] = "DateTimeValue";


Field Type - LookUp:

  var department = web.Lists["Department"].GetItemById(1); // Get the Reference record.

  var  employee = web.Lists["Employee"].Items.Add();

  empolyee["Department"] = new SPFieldLookupValue(department.ID, department.Title);
                                              // Set the lookUp value to the field.
  employee.Update();

(Or) Simply we can set as follows:
  
      employee["Department"] = "1";

Field Type - Person or Group:

   SPUser user = null;

   user = web.EnsureUser("Domain\Loginname");

   listitem["manager"] = user;

Field Type - Hyper link :

   SPFieldUrlValue hyperlink = new SPFiedlUrlValue();

   hyperlink.Description = "Sharepoint Light";

   hyperlink.Url = "http://sharepointbabu.blogspot.in/";

   listitem["HyperLink"] = hyperlink;

   (Or) Simply we can set as follows:

    listitem["HyperLink"] = "http://sharepointbabu.blogspot.in/, Sharepoint Light";

 

Field Type - Calculated :

   Calculated field value is set automatically based on the given formula based on the other fields data.


In the following code snippet, insert data into different SharePoint list fields using C#.

---------------------------------------------------------------------------------------------------------------------

using (SPSite site = new SPSite(SPContext.Current.Web.Url))
{
  using (SPWeb web = site.OpenWeb())
   {
      web.AllowUnsafeUpdates = true;

          SPUser manager = null;

              try
                {
                  SPList list = web.Lists.TryGetList("employe");

                   SPUser user = null;    // for people picker insertion

                   user = web.EnsureUser("Domain\Loginname");  // for people picker insertion

                  if (list == null)
                     throw new Exception(string.Format("List {0} can not be found", Constants.List_ADUserAccounts));

                  SPListItem listitem = list.Items.Add();
   
                   listItem["SinglelinetextColumn"] = "value";

                   listItem["MultilinetextColumn"] = "value";

                   listItem["BooleanColumn"] = true ;

                   listItem["ChoiceColumn"] = list.Fields["ChoiceColumn"].GetFieldValue(myChoice);

                   listItem["NumberColumn"] = value;

                   listItem["CurrencyColumn"] = "value";

                   listItem["DateTimeColumn"] = "DateTimeValue";

                   listitem["managerColumn"] = user;

                   listitem["HyperLinkColumn"] = "http://nagababua.blogspot.in/, Fix Your Code";

                   listitem.Update();

                }

            catch
            {
                 throw;
             }

           finally
           {
                 web.AllowUnsafeUpdates = false;
           }
      }
}

-----------------------------------------------------------------------------------------------------------------------


  



Get the User Profile in Auto Push Back event on people picker in SharePoint site programmatic.


The following description describes, programmatic how to get the user profile details automatically when the user is resolved in people picker field.

==> If you want to get user profile and show  automatically when resolve the user by people picker, do following steps:

Step 1:

Add the "AutoPushBack='true' " attribute to people picker control in SamplePage.aspx page.

Step 2:

Add the following code in your code behind (SamplePage.aspx.cs) file in the Page Load Event.


==> If you want to get the user profile after an any other event like click on some button, then directly place the following code in click event.


// Code snippent

==> using Microsoft.Office.Service.Userprofie  // add this reference first

==> In the following code snippet "spnLoginName" is the id of a label to display result and "peUser" is the people picker control Id, so replace it with what yours controls id's


try
   {
      using (SPSite site = new SPSite(SPContext.Current.Web.Url))
        {
          ServerContext context = ServerContext.GetContext(site);

          UserProfileManager   profileManager = new   UserProfileManager(context);

          PickerEntity   entity = (PickerEntity)peUser.ResolvedEntities[0];

          UserProfile   profile = profileManager.GetUserProfile(entity.Key);

          spnLoginName.InnerText = profile[PropertyConstants.SAMUserName].Value.ToString();
                 
         }
             
    }
 catch
     {
         throw;
      }


== > Through this code you get all the user profiles who are exited in you SharePoint Site.

Saturday 8 November 2014

How to set Label width in CSS




While we are styling a label using CSS, remember one thing.

i.e. Label is not a block element, so the width property is not applicable to it directly.

Hey don't worry, We have a simple solution to this problem,  just make Label as block element
like as follows:

.mylabel{

         display: inline-block;
         width: 24px;
}