Wednesday, 15 February 2017

Paging in the SharePoint list

Paging in the SharePoint 2010 list is done using the



The SPListItemCollectionPosition class supports paging through data sets, storing the state that is needed to get the next page of data for a specific view of a list. 


ListItemCollectionPosition

Gets or sets an object that is used to obtain the next set of rows in a paged view of a list. The below code I have refined from the following link. It will return the given page like page 3, items say 4.


public static SPListItemCollection ExecuteCAMLToRetrieveListItemsInPages( string listName, string viewName, 
       string caml, string[] columnNames, int pageIndex, int pageItemCount) 
   {       
       SPListItemCollection postDetailsItems = null;         
       using (SPSite Site = new SPSite(SPContext.Current.Site.Url))         
       {             
           using (SPWeb sharePointWeb = Site.AllWebs[XYZ])             
           {                
               // Check if the SharePoint web object is not null or not.                 
               if (sharePointWeb == null)                 
               {                 
               }                 
               // Get the Post List                 
               SPList postList = sharePointWeb.Lists[listName];                 
               // Get the SPLIst View                 
               SPView listView = postList.Views[viewName];                 
               SPQuery query = new SPQuery(listView);                 
               query.Query = caml;                 
               // Retrieve the items for the last page. E.g.: If request is for 5th page and item count/page=10 then row limit will retrieve
               //40 items and 40th item will be used to get the column details which will be used for pagination.                 
               query.RowLimit = (uint)(pageItemCount * (pageIndex - 1));                 
               postDetailsItems = postList.GetItems(query);                 
               // Get the previous page last item position. Use this item to retrieve the column details which will be used for pagination.                 
               int previousPageLastItemPosition = postDetailsItems.Count - 1;                 
               StringBuilder columnBuilder = new StringBuilder();                 
               // Form the paging filter query string                 
               if (columnNames != null)                 
               {                     
                   foreach (string column in columnNames)                     
                   {                        
                       // Make sure that if the field value is mandatory and if you are passing it as NULL then SPList.GetItems will throw exception.
                       string columnValue = 
                           (postDetailsItems[previousPageLastItemPosition][column] == null) ? string.Empty : postDetailsItems[previousPageLastItemPosition][column].ToString();
                       // Check if the value is null or empty                         
                       columnBuilder.Append("&p_" + column + "=" + columnValue);                     
                   }                
               }                 
               query = new SPQuery(listView);                 
               query.Query = caml;                 
               // Create Paging Information which will be used for retrieving paging based items                 
               SPListItemCollectionPosition objSPListColPos = new SPListItemCollectionPosition("Paged=TRUE" + columnBuilder.ToString());                 
               query.RowLimit = uint.Parse(pageItemCount.ToString());                 
               query.ListItemCollectionPosition = objSPListColPos;                 
               // Execute the CAML query.                 
               postDetailsItems = postList.GetItems(query);             
           }         
       }         return postDetailsItems;     
   }

Monday, 30 January 2017

Convert from Window to claim based web application through command in MOSS2010


Convert from Window to claim based web application through command in MOSS2010

$setcba = Get-SPWebApplication "http://ibggn6756-2:1111/"
$setcba.UseClaimsAuthentication = 1;
$setcba.Update()

Wednesday, 25 January 2017

Update password in sharepoint Farm and WebSites

SharePoint Installation:-

Update password in sharepoint Farm and WebSites
1. runat --> SharePoint Timer --> right click properties change password.


stsadm -o updatefarmcredentials -userlogin IBTS\ved.p1 -password feb@345345

Operation status completely.
.

Thursday, 29 September 2016

Add Print Option to SharePoint Page to print one particular web Part using Content Editor Web Part

Add Print Option to SharePoint Page to print one particular web Part using Content Editor Web Part


Add Print Option to SharePoint Page to print one particular web Part using Content Editor Web Part

When the javascript code point to a particular Web Part by its web part ID, then the print option will try to print only the chosen web part.

<input type="button" ID="printBtn1" OnClick="javascript:void(PrintWebPart())" value="Print only tranSMART WebPart">

<script language="JavaScript">

//Controls which Web Part or zone to print
var WebPartElementID = "WebPartWPQ2";

//Function to print Web Part
function PrintWebPart()
{
var bolWebPartFound = false;
if (document.getElementById != null)
{
//Create html to print in new window
var PrintingHTML = '<HTML>\n<HEAD>\n';
//Take data from Head Tag
if (document.getElementsByTagName != null)
{
var HeadData= document.getElementsByTagName("HEAD");
if (HeadData.length > 0)
PrintingHTML += HeadData[0].innerHTML;
}
PrintingHTML += '\n</HEAD>\n<BODY>\n';
var WebPartData = document.getElementById(WebPartElementID);
if (WebPartData != null)
{
PrintingHTML += WebPartData.innerHTML;
bolWebPartFound = true;
}
else
{
bolWebPartFound = false;
alert ('Cannot Find Web Part');
}
}
PrintingHTML += '\n</BODY>\n</HTML>';
//Open new window to print
if (bolWebPartFound)
{
var PrintingWindow = window.open("","PrintWebPart", "toolbar,width=800,height=600,scrollbars,resizable,menubar");
PrintingWindow.document.open();
PrintingWindow.document.write(PrintingHTML);

// Open Print Window
PrintingWindow.window.print();
PrintingWindow.document.close();

}
}
</script>

We can find the web part ID by viewing the source of a page.

Leave your comments below.








Add Print Option to SharePoint Page using Content Editor Web Part

Add Print Option to SharePoint Page

Print option can be added to a content Editor Web Part. This will enable Printing of all content within a SharePoint Page without the top part and left navigation.

<script type="text/javascript" src="http://sample.com/sites/test/JSFiles/jquery-1.4.2.min.js"></script>

<div>
<input id="printBtn" type="button" Value="Print all WebParts" alt="Print this page" style="margin-top:10px;margin-left:10px;"/>
</div>

<script>

$(document).ready(function()
{
var strlink="";
$("link[rel='stylesheet']").each(function()
{
strlink+="<link rel = 'stylesheet' href='"+$(this).attr('href')+"' type='text/css'/>";
});

$("#printBtn").click(function()
{

var htmlStr ="<html><head>"+strlink+"</head><body>"+$("#MSO_ContentTable").parent().html()+"</body></html>";

var PrintingWindow = window.open("about:blank","","toolbar,width=800,height=600,scrollbars,resizable,menubar");

PrintingWindow.document.open();
PrintingWindow.document.write(htmlStr);
PrintingWindow.document.close();
PrintingWindow.focus();
PrintingWindow.document.getElementById("printBtn").style.display="none";
PrintingWindow.print();

});

});
</script>

Leave your comments below.










Thursday, 21 July 2016

Only Number  allowed using Javascript


 function onlyNumbers(evt) {
        var charCode;
        if (window.event)
            charCode = window.event.keyCode;   //if IE
        else
            charCode = evt.which; //if firefox
        if (charCode > 31 && (charCode < 48 || charCode > 57)) {
            alert("Please Enter Only Numeric Value");
            return false;
        }
        return true;
    }



    function ValidateText(i) {
        if (i.value.length > 0) {
            i.value = i.value.replace(/[^\d]+/g, '');
        }
    }

Call :-

<asp:TextBox ID="txtSoWValue" runat="server" onkeyup="javascript:ValidateText(this)"   onkeypress="return onlyNumbers(event);"  CssClass="left" Style="width: 28%;"></asp:TextBox>


Only Number and Character and space also allowed using Javascript

    function ValidateText(i) {
        if (i.value.length > 0) {        
            i.value = i.value.replace(/[!@#$%^&<>?:;|,/]/g, "");
        }
    }


Only Number and Character allowed using Javascript

    function ValidateText(i) {
        if (i.value.length > 0) {
            i.value = i.value.replace(/[^A-Z0-9]+/ig, '');          
        }
    }

Call :-

<asp:TextBox ID="txtWBSID" runat="server" MaxLength="25"  onkeyup="javascript:ValidateText(this)"  ></asp:TextBox>


Check the length of character

    function CheckTextLength(text, long) {
        var maxlength = new Number(long); // Change number to your max length.
        if (text.value.length > maxlength) {
            text.value = text.value.substring(0, maxlength);
            alert(" Only " + long + " Characters Allowed");
        }
    }

Call :-

<asp:TextBox ID="txtFinanceRemarks" runat="server" TextMode="MultiLine" Width="900px"  placeholder="Maximum 500 Characters" onKeyUp="CheckTextLength(this,500)" onChange="CheckTextLength(this,500)" ></asp:TextBox>                

onChange="CheckTextLength(this,500)"

Wednesday, 13 July 2016

To Invisible the Active Directory User


To Invisible the Active Directory User

$cpm = Get-SPClaimProviderManager
$ad =  get-spclaimprovider -identity "AD"
$ad.Invisible = $False
$cpm.Update()

Tuesday, 12 July 2016

PowerShell Command for getting the backup of WSP


PowerShell Command for getting the backup of WSP 

$FolderPath = "z:\Solutions\12July2016"
foreach ($solution in Get-SPSolution)
{
   $id = $Solution.SolutionID
   $title = $Solution.Name
   $filename = $Solution.SolutionFile.Name
   $solution.SolutionFile.SaveAs("$FolderPath\$filename")
}