<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7948605918764552233</id><updated>2012-02-16T05:10:03.913-08:00</updated><category term='SharePoint'/><category term='My Sql'/><category term='K2'/><category term='Reporting Services'/><category term='Stored Procedure'/><title type='text'>Life Documentation</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rbn-yang.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rbn-yang.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Robin</name><uri>http://www.blogger.com/profile/16853070467924238240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7948605918764552233.post-1387618498262186068</id><published>2009-01-10T07:23:00.000-08:00</published><updated>2009-01-10T23:58:45.610-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='K2'/><title type='text'>Retrieve Worklist Item using Folio In K2 BlackPearl</title><content type='html'>&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;Sample code how to retrieve worklist item in K2 BlackPearl using Folio in WorkflowCriteria.&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; SourceCode.Hosting.Client;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; SourceCode.Workflow.Client;&lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; K2Samples&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; WorkflowAccessingSample&lt;/pre&gt;&lt;pre&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; RetrieveWorklistOpenItemBasedOnFolio()&lt;/pre&gt;&lt;pre&gt;        {&lt;/pre&gt;&lt;pre class="alt"&gt;            &lt;span class="rem"&gt;// TODO: Replace these placeholder values with values for your environment&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;            Worklist worklist = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;            WorklistItem worklistitem = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; _serverName = &lt;span class="str"&gt;"blackpearl"&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; _user = &lt;span class="str"&gt;"K2Student"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; _domain = &lt;span class="str"&gt;"DENALLIX"&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; _password = &lt;span class="str"&gt;"K2pass!"&lt;/span&gt;;&lt;/pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;            SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder connectionString =&lt;/pre&gt;&lt;pre&gt;                &lt;span class="kwrd"&gt;new&lt;/span&gt; SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;            connectionString.Authenticate = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;            connectionString.Host = &lt;span class="str"&gt;"localhost"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;            connectionString.Integrated = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;            connectionString.IsPrimaryLogin = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;            connectionString.Port = 5252;&lt;/pre&gt;&lt;pre class="alt"&gt;            connectionString.UserID = _user;&lt;/pre&gt;&lt;pre&gt;            connectionString.WindowsDomain = _domain;&lt;/pre&gt;&lt;pre class="alt"&gt;            connectionString.Password = _password;&lt;/pre&gt;&lt;pre&gt;            connectionString.SecurityLabelName = &lt;span class="str"&gt;"K2"&lt;/span&gt;; &lt;span class="rem"&gt;//the default label&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt; &lt;/pre&gt;&lt;pre&gt;            &lt;span class="rem"&gt;// open a K2 connection&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;            Connection connection = &lt;span class="kwrd"&gt;new&lt;/span&gt; Connection();&lt;/pre&gt;&lt;pre&gt;            connection.Open(_serverName, connectionString.ToString());&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;            &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;            {&lt;/pre&gt;&lt;pre&gt;                WorklistCriteria wc = &lt;span class="kwrd"&gt;new&lt;/span&gt; WorklistCriteria();&lt;/pre&gt;&lt;pre class="alt"&gt;                wc.AddFilterField(WCField.ProcessFolio, WCCompare.Equal, &lt;span class="str"&gt;"NR - 1"&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;                &lt;span class="rem"&gt;// open the worklist item&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;                worklist = connection.OpenWorklist(wc);&lt;/pre&gt;&lt;pre&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (worklist.Count == 0)&lt;/pre&gt;&lt;pre class="alt"&gt;                {&lt;/pre&gt;&lt;pre&gt;                    Console.WriteLine(&lt;span class="str"&gt;"There has been a problem retrieving the K2 process&lt;br /&gt;                      data. Please ensure that the account has rights to the K2&lt;br /&gt;                      BlackPearl Workflow Item and that you are connecting to the&lt;br /&gt;                      BlackPearl server."&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;                }&lt;/pre&gt;&lt;pre&gt;                &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;                {&lt;br /&gt;                    worklistitem = worklist[0];&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;                    &lt;span class="rem"&gt;// retrieve properties of worklist item&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;                    Console.WriteLine(&lt;span class="str"&gt;"Process Instance Name: "&lt;/span&gt; +&lt;br /&gt;                    worklistitem.ProcessInstance.Name);&lt;/pre&gt;&lt;pre&gt;                    Console.WriteLine(&lt;span class="str"&gt;"Process Destination: "&lt;/span&gt; +&lt;br /&gt;                    worklistitem.ActivityInstanceDestination.Name);&lt;/pre&gt;&lt;pre class="alt"&gt;                    Console.WriteLine(&lt;span class="str"&gt;"Process Folio: "&lt;/span&gt; +&lt;br /&gt;                    worklistitem.ProcessInstance.Folio);&lt;/pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;                    &lt;span class="rem"&gt;// get the workflow actions&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;                    &lt;span class="kwrd"&gt;string&lt;/span&gt; workflowActions = &lt;span class="str"&gt;"Workflow Actions: "&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;                    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (Action action &lt;span class="kwrd"&gt;in&lt;/span&gt; worklistitem.Actions)&lt;/pre&gt;&lt;pre&gt;                    {&lt;/pre&gt;&lt;pre class="alt"&gt;                        workflowActions += Environment.NewLine + action.Name;&lt;/pre&gt;&lt;pre&gt;                    }&lt;/pre&gt;&lt;pre&gt;                    &lt;span class="rem"&gt;// write actions to console&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;                    Console.WriteLine(workflowActions + Environment.NewLine);&lt;/pre&gt;&lt;pre&gt;                    Console.ReadLine();&lt;/pre&gt;&lt;pre class="alt"&gt;                }&lt;/pre&gt;&lt;pre&gt;            }&lt;/pre&gt;&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception ex)&lt;/pre&gt;&lt;pre&gt;            {&lt;/pre&gt;&lt;pre class="alt"&gt;                &lt;span class="rem"&gt;// write error to console&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;                Console.WriteLine(&lt;span class="str"&gt;"Error: "&lt;/span&gt; + ex.Message);&lt;/pre&gt;&lt;pre class="alt"&gt;                Console.ReadLine();&lt;/pre&gt;&lt;pre&gt;            }&lt;/pre&gt;&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;finally&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;            {&lt;/pre&gt;&lt;pre class="alt"&gt;                &lt;span class="rem"&gt;// close the connection&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;                connection.Close();&lt;/pre&gt;&lt;pre class="alt"&gt;            }&lt;/pre&gt;&lt;pre&gt;        }&lt;/pre&gt;&lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7948605918764552233-1387618498262186068?l=rbn-yang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rbn-yang.blogspot.com/feeds/1387618498262186068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7948605918764552233&amp;postID=1387618498262186068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/1387618498262186068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/1387618498262186068'/><link rel='alternate' type='text/html' href='http://rbn-yang.blogspot.com/2009/01/retrieve-worklist-item-using-folio-in.html' title='Retrieve Worklist Item using Folio In K2 BlackPearl'/><author><name>Robin</name><uri>http://www.blogger.com/profile/16853070467924238240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7948605918764552233.post-5997814189634380835</id><published>2009-01-09T23:48:00.000-08:00</published><updated>2009-01-10T02:40:16.130-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stored Procedure'/><category scheme='http://www.blogger.com/atom/ns#' term='My Sql'/><title type='text'>Stored Procedure Paging in My Sql</title><content type='html'>Sample code of stored procedure for paging in My Sql. The input parameter are DatabaseName, WhereClause, OrderBy, PageIndex, and PageSize. The output parameter is TotalRecords.&lt;br /&gt;&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;DELIMITER $$&lt;/pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;PROCEDURE&lt;/span&gt; `GetPaged`(&lt;span class="kwrd"&gt;IN&lt;/span&gt; DatabaseName &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(200), &lt;span class="kwrd"&gt;IN&lt;/span&gt; WhereClause &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(200),&lt;/pre&gt;&lt;pre&gt;         &lt;span class="kwrd"&gt;IN&lt;/span&gt; OrderBy &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(200), &lt;span class="kwrd"&gt;IN&lt;/span&gt; PageIndex &lt;span class="kwrd"&gt;int&lt;/span&gt;, &lt;span class="kwrd"&gt;IN&lt;/span&gt; PageSize &lt;span class="kwrd"&gt;int&lt;/span&gt;, &lt;span class="kwrd"&gt;OUT&lt;/span&gt; TotalRecords &lt;span class="kwrd"&gt;int&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;BEGIN&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; _WhereClause &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(200);&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; _OrderBy &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(200);&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; _Limit &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(20);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;SET&lt;/span&gt; _Limit = &lt;span class="str"&gt;' LIMIT ?,?'&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;IF&lt;/span&gt; LENGTH(WhereClause) &amp;gt; 0 &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="kwrd"&gt;SET&lt;/span&gt; _WhereClause = CONCAT(&lt;span class="str"&gt;' WHERE '&lt;/span&gt;, WhereClause);&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;   ELSE&lt;/span&gt; &lt;span class="kwrd"&gt;SET&lt;/span&gt; _WhereClause = &lt;span class="str"&gt;''&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;END&lt;/span&gt; &lt;span class="kwrd"&gt;IF&lt;/span&gt;;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;IF&lt;/span&gt; LENGTH(OrderBy) &amp;gt; 0 &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="kwrd"&gt;SET&lt;/span&gt; _OrderBy = CONCAT(&lt;span class="str"&gt;' ORDER BY '&lt;/span&gt;, OrderBy);&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;   ELSE&lt;/span&gt; &lt;span class="kwrd"&gt;SET&lt;/span&gt; _OrderBy = &lt;span class="str"&gt;''&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;END&lt;/span&gt; &lt;span class="kwrd"&gt;IF&lt;/span&gt;;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;SET&lt;/span&gt; @SQLStatement = CONCAT(&lt;span class="str"&gt;'SELECT * FROM '&lt;/span&gt;,DatabaseName, _WhereClause, _OrderBy, _Limit);&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;SET&lt;/span&gt; @&lt;span class="kwrd"&gt;Count&lt;/span&gt; = CONCAT(&lt;span class="str"&gt;'SELECT COUNT(1) INTO @TotalRecords FROM '&lt;/span&gt;,DatabaseName, _WhereClause);&lt;/pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;SET&lt;/span&gt; @v_PageIndex = PageIndex;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;SET&lt;/span&gt; @v_PageSize = PageSize;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;PREPARE&lt;/span&gt; SQLStatement &lt;span class="kwrd"&gt;FROM&lt;/span&gt; @SQLStatement;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;EXECUTE&lt;/span&gt; SQLStatement &lt;span class="kwrd"&gt;using&lt;/span&gt; @v_PageIndex,@v_PageSize;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;DROP&lt;/span&gt; &lt;span class="kwrd"&gt;PREPARE&lt;/span&gt; SQLStatement;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;PREPARE&lt;/span&gt; COUNTStatement &lt;span class="kwrd"&gt;FROM&lt;/span&gt; @&lt;span class="kwrd"&gt;Count&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;EXECUTE&lt;/span&gt; COUNTStatement;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;DROP&lt;/span&gt; &lt;span class="kwrd"&gt;PREPARE&lt;/span&gt; COUNTStatement;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;SET&lt;/span&gt; TotalRecords = @TotalRecords;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;END&lt;/span&gt; $$&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;DELIMITER ;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7948605918764552233-5997814189634380835?l=rbn-yang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rbn-yang.blogspot.com/feeds/5997814189634380835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7948605918764552233&amp;postID=5997814189634380835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/5997814189634380835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/5997814189634380835'/><link rel='alternate' type='text/html' href='http://rbn-yang.blogspot.com/2009/01/stored-procedure-paging-in-mysql.html' title='Stored Procedure Paging in My Sql'/><author><name>Robin</name><uri>http://www.blogger.com/profile/16853070467924238240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7948605918764552233.post-5621285092924400262</id><published>2009-01-01T22:11:00.001-08:00</published><updated>2009-01-05T08:46:43.279-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Get  SharePoint Discussion Forum Replies Data</title><content type='html'>This is a sample code how to get all discussion replies data in sharepoint discussion forum.&lt;br /&gt;&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;1:  &lt;/span&gt;SPWeb web = SPContext.Current.Web;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;2:  &lt;/span&gt;SPList listForum = web.Lists[&lt;span class="str"&gt;"Forum"&lt;/span&gt;];&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;3:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;4:  &lt;/span&gt;     &lt;span class="rem"&gt;/* Get the Discussion Forum Data */&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;5:  &lt;/span&gt;     SPQuery qry = &lt;span class="kwrd"&gt;new&lt;/span&gt; SPQuery();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;6:  &lt;/span&gt;     qry.Query = &lt;span class="str"&gt;@"&amp;lt;OrderBy&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;7:  &lt;/span&gt;                       &amp;lt;FieldRef Name='DiscussionLastUpdated' Ascending='False' /&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;8:  &lt;/span&gt;                  &amp;lt;/OrderBy&amp;gt;";&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;9:  &lt;/span&gt;     qry.RowLimit = 3;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;10:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;11:  &lt;/span&gt;    SPListItemCollection itemsColl = listForum.GetItems(qry);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;12:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;13:  &lt;/span&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (itemsColl.Count &amp;gt; 0)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;14:  &lt;/span&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;15:  &lt;/span&gt;       &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (SPListItem item &lt;span class="kwrd"&gt;in&lt;/span&gt; itemsColl)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;16:  &lt;/span&gt;       {  &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;17:  &lt;/span&gt;          Response.Write(&lt;span class="str"&gt;"ID: "&lt;/span&gt; + item.ID + &lt;span class="str"&gt;"&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;18:  &lt;/span&gt;          Response.Write(&lt;span class="str"&gt;"Name: "&lt;/span&gt; + item.Name + &lt;span class="str"&gt;"&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;19:  &lt;/span&gt;            &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;20:  &lt;/span&gt;          &lt;span class="rem"&gt;/* Get all discussion replies */&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;21:  &lt;/span&gt;          SPQuery qry2 = &lt;span class="kwrd"&gt;new&lt;/span&gt; SPQuery();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;22:  &lt;/span&gt;          qry2.Query = &lt;span class="str"&gt;@"&amp;lt;OrderBy&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;23:  &lt;/span&gt;                            &amp;lt;FieldRef Name='DiscussionLastUpdated' Ascending='False' /&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;24:  &lt;/span&gt;                         &amp;lt;/OrderBy&amp;gt;";&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;25:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;26:  &lt;/span&gt;          qry2.Folder = item.Folder;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;27:  &lt;/span&gt;          SPListItemCollection itemsColl2 = listForum.GetItems(qry2);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;28:  &lt;/span&gt;              &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;29:  &lt;/span&gt;          &lt;span class="kwrd"&gt;if&lt;/span&gt; (itemsColl2.Count &amp;gt; 0)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;30:  &lt;/span&gt;          {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;31:  &lt;/span&gt;            &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (SPListItem replayItem &lt;span class="kwrd"&gt;in&lt;/span&gt; itemsColl2)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;32:  &lt;/span&gt;            {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;33:  &lt;/span&gt;              Response.Write(&lt;span class="str"&gt;"Display Name: "&lt;/span&gt; + replayItem.DisplayName + &lt;span class="str"&gt;"&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;34:  &lt;/span&gt;              Response.Write(&lt;span class="str"&gt;"List ID: "&lt;/span&gt; + replayItem.ID + &lt;span class="str"&gt;"&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;35:  &lt;/span&gt;              Response.Write(&lt;span class="str"&gt;"List Folder ID: "&lt;/span&gt; +&lt;br /&gt;                       replayItem[&lt;span class="str"&gt;"Parent Folder Id"&lt;/span&gt;].ToString() + &lt;span class="str"&gt;"&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;36:  &lt;/span&gt;              Response.Write(&lt;span class="str"&gt;"Body: "&lt;/span&gt; + replayItem[&lt;span class="str"&gt;"Body"&lt;/span&gt;] + &lt;span class="str"&gt;"&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;37:  &lt;/span&gt;              Response.Write(&lt;span class="str"&gt;"Last Replay By:"&lt;/span&gt; + replayItem[&lt;span class="str"&gt;"Author"&lt;/span&gt;].ToString().&lt;br /&gt;                       Split(&lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] { &lt;span class="str"&gt;";#"&lt;/span&gt; }, StringSplitOptions.RemoveEmptyEntries)[1]&lt;br /&gt;                       + &lt;span class="str"&gt;"&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;38:  &lt;/span&gt;            }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;39:  &lt;/span&gt;         }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;40:  &lt;/span&gt;         &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;41:  &lt;/span&gt;         {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;42:  &lt;/span&gt;             Response.Write(&lt;span class="str"&gt;"No Replay Data &amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;43:  &lt;/span&gt;         }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;44:  &lt;/span&gt;      }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;45:  &lt;/span&gt;   }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7948605918764552233-5621285092924400262?l=rbn-yang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rbn-yang.blogspot.com/feeds/5621285092924400262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7948605918764552233&amp;postID=5621285092924400262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/5621285092924400262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/5621285092924400262'/><link rel='alternate' type='text/html' href='http://rbn-yang.blogspot.com/2009/01/get-discussion-replies-data-sharepoint.html' title='Get  SharePoint Discussion Forum Replies Data'/><author><name>Robin</name><uri>http://www.blogger.com/profile/16853070467924238240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7948605918764552233.post-2627203589565172295</id><published>2009-01-01T22:10:00.001-08:00</published><updated>2009-01-09T23:47:47.435-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Disable SharePoint Single or Multiple File Upload using Javascript</title><content type='html'>Nice article how to disable single file upload in sharepoint document library or picture library using javascript.&lt;br /&gt;Check it &lt;a href="http://www.sharepointkings.com/2008/07/removing-single-file-upload-menu-from.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you want to disable multiple file upload you can change the javascript code :&lt;br /&gt;var o = GetElementByText("ie:menuitem","Upload Document");&lt;br /&gt;&lt;br /&gt;is changed to&lt;br /&gt;&lt;br /&gt;var o = GetElementByText("ie:menuitem","Upload Multiple Documents");&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7948605918764552233-2627203589565172295?l=rbn-yang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rbn-yang.blogspot.com/feeds/2627203589565172295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7948605918764552233&amp;postID=2627203589565172295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/2627203589565172295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/2627203589565172295'/><link rel='alternate' type='text/html' href='http://rbn-yang.blogspot.com/2009/01/disable-sharepoint-single-file-or.html' title='Disable SharePoint Single or Multiple File Upload using Javascript'/><author><name>Robin</name><uri>http://www.blogger.com/profile/16853070467924238240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7948605918764552233.post-374179295546623718</id><published>2008-11-04T08:58:00.000-08:00</published><updated>2008-11-04T09:34:04.509-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Set Permission List or Document Library SharePoint Using EventHandler</title><content type='html'>&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;Sample code to set permission using EventHandler when ItemAdded.&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;1: &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;2: &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;3: &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;4: &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;5:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;6: &lt;/span&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; EventHandler&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;7: &lt;/span&gt;{&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;8:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; SetPermissionItemEventReceiver : SPItemEventReceiver&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;9:  &lt;/span&gt;{&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;10:  &lt;/span&gt; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ItemAdded(SPItemEventProperties properties)&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;11:  &lt;/span&gt; {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;12:  &lt;/span&gt;     SetPermission(properties);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;13:  &lt;/span&gt; }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;14:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;15:  &lt;/span&gt; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; SetPermission(SPItemEventProperties properties)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;16:  &lt;/span&gt; {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;17:  &lt;/span&gt;   &lt;span class="kwrd"&gt;string&lt;/span&gt; LoginName = properties.UserLoginName;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;18:  &lt;/span&gt;   SPSecurity.RunWithElevatedPrivileges(&lt;span class="kwrd"&gt;delegate&lt;/span&gt;()&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;19:  &lt;/span&gt;   {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;20:  &lt;/span&gt;     &lt;span class="kwrd"&gt;using&lt;/span&gt; (SPSite site = &lt;span class="kwrd"&gt;new&lt;/span&gt; SPSite(properties.SiteId))&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;21:  &lt;/span&gt;     {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;22:  &lt;/span&gt;       &lt;span class="kwrd"&gt;using&lt;/span&gt; (SPWeb web = site.OpenWeb(properties.RelativeWebUrl))&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;23:  &lt;/span&gt;       {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;24:  &lt;/span&gt;          &lt;span class="kwrd"&gt;this&lt;/span&gt;.DisableEventFiring();&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;25:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;26:  &lt;/span&gt;          SPListItem item = web.Lists[properties.ListId].GetItemById(properties.ListItemId);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;27:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;28:  &lt;/span&gt;          &lt;span class="kwrd"&gt;string&lt;/span&gt; ListName = item.ListItems.List.RootFolder.Name;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;29:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;30:  &lt;/span&gt;          &lt;span class="kwrd"&gt;if&lt;/span&gt; (!item.HasUniqueRoleAssignments)&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;31:  &lt;/span&gt;               item.BreakRoleInheritance(&lt;span class="kwrd"&gt;false&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;32:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;33:  &lt;/span&gt;          SPRoleDefinition ContributeRoleDefinition =&lt;br /&gt;                                 item.Web.RoleDefinitions[&lt;span class="str"&gt;"Contribute"&lt;/span&gt;];&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;34:  &lt;/span&gt;          SPRoleDefinition ApproveRoleDefinition =&lt;br /&gt;                                 item.Web.RoleDefinitions[&lt;span class="str"&gt;"Approve"&lt;/span&gt;];&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;35:  &lt;/span&gt;          SPRoleDefinition FullControlRoleDefinition =&lt;br /&gt;                                 item.Web.RoleDefinitions[&lt;span class="str"&gt;"Full Control"&lt;/span&gt;];&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;36:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;37:  &lt;/span&gt;          SPRoleAssignment UserRoleAssignment = &lt;span class="kwrd"&gt;new&lt;/span&gt; SPRoleAssignment(LoginName, &lt;span class="kwrd"&gt;&lt;br /&gt;                                 string&lt;/span&gt;.Empty, &lt;span class="kwrd"&gt;string&lt;/span&gt;.Empty, &lt;span class="kwrd"&gt;string&lt;/span&gt;.Empty);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;38:  &lt;/span&gt;          UserRoleAssignment.RoleDefinitionBindings.Add(ContributeRoleDefinition);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;39:  &lt;/span&gt;          item.RoleAssignments.Add(UserRoleAssignment);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;40:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;41:  &lt;/span&gt;          SPGroup OwnerGroup = item.Web.SiteGroups[&lt;span class="str"&gt;"Owners"&lt;/span&gt;];&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;42:  &lt;/span&gt;          SPRoleAssignment OwnerRoleAssignment = &lt;span class="kwrd"&gt;new&lt;/span&gt; SPRoleAssignment(OwnerGroup);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;43:  &lt;/span&gt;          OwnerRoleAssignment.RoleDefinitionBindings.Add(FullControlRoleDefinition);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;44:  &lt;/span&gt;          item.RoleAssignments.Add(OwnerRoleAssignment);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;45:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;46:  &lt;/span&gt;          SPGroup ApproversGroup = item.Web.SiteGroups[&lt;span class="kwrd"&gt;&lt;br /&gt;                                  string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}_Approvers"&lt;/span&gt;, ListName)];&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;47:  &lt;/span&gt;          SPRoleAssignment ApproversRoleAssignment = &lt;span class="kwrd"&gt;new&lt;/span&gt; SPRoleAssignment(ApproversGroup);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;48:  &lt;/span&gt;          ApproversRoleAssignment.RoleDefinitionBindings.Add(ApproveRoleDefinition);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;49:  &lt;/span&gt;          item.RoleAssignments.Add(ApproversRoleAssignment);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;50:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;51:  &lt;/span&gt;          &lt;span class="kwrd"&gt;this&lt;/span&gt;.EnableEventFiring();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;52:  &lt;/span&gt;        }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;53:  &lt;/span&gt;      }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;54:  &lt;/span&gt;    });&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;55:  &lt;/span&gt;   }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;56:  &lt;/span&gt; }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;57: &lt;/span&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7948605918764552233-374179295546623718?l=rbn-yang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rbn-yang.blogspot.com/feeds/374179295546623718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7948605918764552233&amp;postID=374179295546623718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/374179295546623718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/374179295546623718'/><link rel='alternate' type='text/html' href='http://rbn-yang.blogspot.com/2008/11/set-permission-list-or-document-library.html' title='Set Permission List or Document Library SharePoint Using EventHandler'/><author><name>Robin</name><uri>http://www.blogger.com/profile/16853070467924238240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7948605918764552233.post-6126110730302591307</id><published>2008-10-29T22:46:00.000-07:00</published><updated>2008-11-04T09:35:27.376-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reporting Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>SharePoint Web Part using ReportViewer(Reporting Services SharePoint Integration)</title><content type='html'>If you want to create Web Part using ReportViewer and is consumed by your SharePoint site and the Reporting Services is configured to SharePoint Integration. First you must change ReportServerCredential.&lt;br /&gt;&lt;br /&gt;If you use this code :&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;ReportViewer1.ServerReport.ReportServerCredentials.NetworkCredentials =&lt;br /&gt;&lt;span class="kwrd"&gt;new&lt;/span&gt; NetworkCredential(&lt;span class="str"&gt;"administrator"&lt;/span&gt;, &lt;span class="str"&gt;"password"&lt;/span&gt;, &lt;span class="str"&gt;"domain"&lt;/span&gt;);&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;You will get a message that the NetworkCredential is readonly. So you must create a custom ReportServerCredentials that implement Microsoft.Reporting.WebForms.IReportServerCredentials. Below is the code and make sure your custom ReportServerCredentials class must using [Serializable] :&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;1:&lt;/span&gt;[Serializable]&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;2:&lt;/span&gt;  &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ReportServerCredentials : Microsoft.Reporting.WebForms.IReportServerCredentials&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;3:&lt;/span&gt;  {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;4:&lt;/span&gt;     &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; _UserName;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;5:&lt;/span&gt;     &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; _Password;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;6:&lt;/span&gt;     &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; _DomainName;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;7:&lt;/span&gt;     &lt;span class="kwrd"&gt;public&lt;/span&gt; ReportServerCredentials(&lt;span class="kwrd"&gt;string&lt;/span&gt; UserName, &lt;span class="kwrd"&gt;string&lt;/span&gt; Password,&lt;br /&gt;&lt;span class="kwrd"&gt;                                        string&lt;/span&gt; DomainName)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;8:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;9:&lt;/span&gt;         _UserName = UserName;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;10:&lt;/span&gt;        _Password = Password;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;11:&lt;/span&gt;        _DomainName = DomainName;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;12:&lt;/span&gt;     }&lt;/pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;13:&lt;/span&gt;     &lt;span class="kwrd"&gt;public&lt;/span&gt; WindowsIdentity ImpersonationUser&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;14:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;15:&lt;/span&gt;         get { return null; }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;16:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;17:&lt;/span&gt;      &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;18:&lt;/span&gt;     &lt;span class="kwrd"&gt;public&lt;/span&gt; ICredentials NetworkCredentials&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;19:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;20:&lt;/span&gt;         get&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;21:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;22:&lt;/span&gt;             &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; NetworkCredential(_UserName, _Password, _DomainName);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;23:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;24:&lt;/span&gt;     }&lt;/pre&gt;&lt;br /&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;25:&lt;/span&gt;     &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; GetFormsCredentials(&lt;span class="kwrd"&gt;out&lt;/span&gt; Cookie authCookie, &lt;span class="kwrd"&gt;out&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; userName,&lt;br /&gt;               &lt;span class="kwrd"&gt;out&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; password, &lt;span class="kwrd"&gt;out&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; authority)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;26:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;27:&lt;/span&gt;         authCookie = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;28:&lt;/span&gt;         userName = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;29:&lt;/span&gt;         password = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;30:&lt;/span&gt;         authority = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;31:&lt;/span&gt;         &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;32:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;33:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;The datasource of the report i use stored procedure. Where the parameter of the report @Status, @EmployeeId, @DeptName, @EmployeesListID and @ApprovedLeavePlanListID, i configured the parameter as a Hidden parameter because I do not want it to be displayed in the ReportViewer component. Below is the code&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;1:  &lt;/span&gt;&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;PROCEDURE&lt;/span&gt; [dbo].[SP_LeaveBlockLeaveReport]&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;2:  &lt;/span&gt;    @StartDate datetime,&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;3:  &lt;/span&gt;    @EndDate datetime,&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;4:  &lt;/span&gt;    @Status &lt;span class="kwrd"&gt;int&lt;/span&gt;,&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;5:  &lt;/span&gt;    @EmployeeId &lt;span class="kwrd"&gt;int&lt;/span&gt;,&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;6:  &lt;/span&gt;    @DeptName &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(50),&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;7:  &lt;/span&gt;    @EmployeesListID &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(50),&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;8:  &lt;/span&gt;    @ApprovedLeavePlanListID &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(50)&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;9:  &lt;/span&gt;&lt;span class="kwrd"&gt;AS&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;10:  &lt;/span&gt;&lt;span class="kwrd"&gt;BEGIN&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;11:  &lt;/span&gt;  &lt;span class="kwrd"&gt;SET&lt;/span&gt; NOCOUNT &lt;span class="kwrd"&gt;ON&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;12:  &lt;/span&gt;  &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @Query &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(1000)&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;13:  &lt;/span&gt;    &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;14:  &lt;/span&gt;  &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Query =&lt;span class="str"&gt;'SELECT Employee.nvarchar4 as EmployeeName,&lt;br /&gt;       ApprovedLeavePlan.StartLeave, &lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;15:  &lt;/span&gt;  ApprovedLeavePlan.EndLeave, ApprovedLeavePlan.LeaveType,&lt;br /&gt;       Employee.float4 as LeaveBalance,&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;16:  &lt;/span&gt;  Employee.float2 as LeaveWithPermission, Employee.float6 as BlockLeave,&lt;br /&gt;       ApprovedLeavePlan.Amount&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;17:  &lt;/span&gt;  FROM AllUserData as Employee &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;18:  &lt;/span&gt;  LEFT JOIN (SELECT int1 as EmployeeID, nvarchar3 as LeaveType,&lt;br /&gt;                  float1 as Amount, datetime1 as StartLeave, datetime2 as EndLeave&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;19:  &lt;/span&gt;             FROM AllUserData&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;20:  &lt;/span&gt;             WHERE tp_ListId='&lt;span class="str"&gt;''&lt;/span&gt;+@ApprovedLeavePlanListID+&lt;span class="str"&gt;''&lt;/span&gt;&lt;span class="str"&gt;'&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;21:  &lt;/span&gt;      AND tp_DeleteTransactionId = 0x) as ApprovedLeavePlan&lt;br /&gt;           ON Employee.tp_ID=ApprovedLeavePlan.EmployeeID &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;22:  &lt;/span&gt;      AND ApprovedLeavePlan.StartLeave &amp;gt;= '&lt;span class="str"&gt;''&lt;/span&gt; +&lt;br /&gt;        &lt;span class="kwrd"&gt;   CONVERT&lt;/span&gt;(nvarchar(30), @StartDate, 109) +&lt;span class="str"&gt;''&lt;/span&gt;&lt;span class="str"&gt;'&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;23:  &lt;/span&gt;      AND ApprovedLeavePlan.EndLeave &amp;lt;= '&lt;span class="str"&gt;''&lt;/span&gt; + &lt;span class="kwrd"&gt;&lt;br /&gt;           CONVERT&lt;/span&gt;(nvarchar(30), @EndDate, 109)  +&lt;span class="str"&gt;''&lt;/span&gt;&lt;span class="str"&gt;'&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;24:  &lt;/span&gt;  WHERE tp_ListId='&lt;span class="str"&gt;''&lt;/span&gt;+@EmployeesListID+&lt;span class="str"&gt;''&lt;/span&gt;&lt;span class="str"&gt;'&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;25:  &lt;/span&gt;  AND tp_DeleteTransactionId = 0x AND tp_RowOrdinal=0'&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;26:  &lt;/span&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;27:  &lt;/span&gt;  &lt;span class="kwrd"&gt;if&lt;/span&gt; @Status=0&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;28:  &lt;/span&gt;      &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Query = @Query + &lt;span class="str"&gt;' AND tp_ID='&lt;/span&gt; + &lt;span class="kwrd"&gt;CAST&lt;/span&gt;(@EmployeeId &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(10))&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;29:  &lt;/span&gt;  &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; @Status=1&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;30:  &lt;/span&gt;      &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Query = @Query + &lt;span class="str"&gt;' AND nvarchar8='&lt;/span&gt;&lt;span class="str"&gt;''&lt;/span&gt; + @DeptName +&lt;span class="str"&gt;''&lt;/span&gt;&lt;span class="str"&gt;''&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;31:  &lt;/span&gt;  &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; @Status=2&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;32:  &lt;/span&gt;      &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Query =  @Query + &lt;span class="str"&gt;''&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;33:  &lt;/span&gt;  &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; @Status=3&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;34:  &lt;/span&gt;      &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Query =  @Query + &lt;span class="str"&gt;''&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;35:  &lt;/span&gt;    &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;36:  &lt;/span&gt;  &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Query =  @Query + &lt;span class="str"&gt;' ORDER BY EmployeeName'&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;37:  &lt;/span&gt;  &lt;span class="kwrd"&gt;EXEC&lt;/span&gt;(@Query)    &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;38:&lt;/span&gt;END&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;Below is the code to call the Reporting Services at Page_Load&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;1:  &lt;/span&gt;[Serializable]&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;2:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; WebUserControl : System.Web.UI.UserControl&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;3:  &lt;/span&gt;{&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;4:  &lt;/span&gt;  &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Page_Load(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;5:  &lt;/span&gt;  {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;6:  &lt;/span&gt;     &lt;span class="kwrd"&gt;if&lt;/span&gt; (!IsPostBack)&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;7:  &lt;/span&gt;     {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;8:  &lt;/span&gt;        ReportViewer1.Visible = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;9:  &lt;/span&gt;        ReportViewer1.ProcessingMode = ProcessingMode.Remote;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;10:  &lt;/span&gt;       ReportViewer1.Width = &lt;span class="kwrd"&gt;new&lt;/span&gt; Unit(100, UnitType.Percentage);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;11:  &lt;/span&gt;       ReportViewer1.Height = &lt;span class="kwrd"&gt;new&lt;/span&gt; Unit(100, UnitType.Percentage);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;12:  &lt;/span&gt;       ReportViewer1.Style.Add(&lt;span class="str"&gt;"width"&lt;/span&gt;, &lt;span class="str"&gt;"100%"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;13:  &lt;/span&gt;       ReportViewer1.Style.Add(&lt;span class="str"&gt;"height"&lt;/span&gt;, &lt;span class="str"&gt;"100%"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;14:  &lt;/span&gt;       ReportViewer1.ZoomPercent = 100;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;15:  &lt;/span&gt;       ReportViewer1.AsyncRendering = &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;16:  &lt;/span&gt;       ReportViewer1.ShowDocumentMapButton = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;17:  &lt;/span&gt;       ReportViewer1.DocumentMapCollapsed = &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;18:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;19:  &lt;/span&gt;       ReportViewer1.ServerReport.ReportServerCredentials = &lt;span class="kwrd"&gt;&lt;br /&gt;          new&lt;/span&gt; ReportServerCredentials(&lt;span class="str"&gt;"administrator"&lt;/span&gt;, &lt;span class="str"&gt;"password"&lt;/span&gt;, &lt;span class="str"&gt;"domain"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;20:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;21:  &lt;/span&gt;       ReportViewer1.ServerReport.ReportServerUrl = &lt;span class="kwrd"&gt;&lt;br /&gt;          new&lt;/span&gt; Uri(&lt;span class="str"&gt;"http://localhost/ReportServer"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;22:  &lt;/span&gt;       ReportViewer1.ServerReport.ReportPath =&lt;br /&gt;&lt;span class="str"&gt;              "http://localhost:1234/Reports/ReportsLibrary/LeaveBlockLeave.rdl"&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;23:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;24:  &lt;/span&gt;       ReportParameter[] parameter = &lt;span class="kwrd"&gt;new&lt;/span&gt; ReportParameter[5];&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;25:  &lt;/span&gt;       ReportParameter p = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;26:  &lt;/span&gt;       p = &lt;span class="kwrd"&gt;new&lt;/span&gt; ReportParameter(&lt;span class="str"&gt;"Status"&lt;/span&gt;, &lt;span class="str"&gt;"0"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;27:  &lt;/span&gt;       parameter[0] = p;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;28:  &lt;/span&gt;       p = &lt;span class="kwrd"&gt;new&lt;/span&gt; ReportParameter(&lt;span class="str"&gt;"EmployeeId"&lt;/span&gt;, &lt;span class="str"&gt;"22"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;29:  &lt;/span&gt;       parameter[1] = p;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;30:  &lt;/span&gt;       p = &lt;span class="kwrd"&gt;new&lt;/span&gt; ReportParameter(&lt;span class="str"&gt;"DeptName"&lt;/span&gt;, &lt;span class="str"&gt;"Information Technology"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;31:  &lt;/span&gt;       parameter[2] = p;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;32:  &lt;/span&gt;       p = &lt;span class="kwrd"&gt;new&lt;/span&gt; ReportParameter(&lt;span class="str"&gt;"EmployeesListID"&lt;/span&gt;, &lt;span class="str"&gt;&lt;br /&gt;                             "1319C369-3F19-42F8-87CA-8403AB940573"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;33:  &lt;/span&gt;       parameter[3] = p;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;34:  &lt;/span&gt;       p = &lt;span class="kwrd"&gt;new&lt;/span&gt; ReportParameter(&lt;span class="str"&gt;"ApprovedLeavePlanListID"&lt;/span&gt;, &lt;span class="str"&gt;&lt;br /&gt;                              "BB8AFBA9-FC27-4388-B4F6-76C1EB3DE9EF"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;35:  &lt;/span&gt;       parameter[4] = p;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;36:  &lt;/span&gt;       ReportViewer1.ServerReport.SetParameters(parameter);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;37:  &lt;/span&gt;    }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;38:  &lt;/span&gt; }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;39: &lt;/span&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Don’t forget to add this code to your web.config of your Share Point Site :&lt;safecontrols&gt;&lt;safecontrol assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" typename="*" safe="True"&gt;&lt;assemblies&gt;&lt;add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"&gt;&lt;pages enablesessionstate="false"&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;1. Add to &amp;lt;SafeControls&amp;gt; section.&lt;br /&gt;&amp;lt;SafeControl Assembly=&lt;span class="str"&gt;"Microsoft.ReportViewer.WebForms, Version=8.0.0.0,&lt;br /&gt;Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"&lt;/span&gt;&lt;br /&gt;Namespace=&lt;span class="str"&gt;"Microsoft.Reporting.WebForms"&lt;/span&gt; TypeName=&lt;span class="str"&gt;"*"&lt;/span&gt; Safe=&lt;span class="str"&gt;"True"&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;br /&gt;2. Add to &amp;lt;assemblies&amp;gt; section.&lt;br /&gt;&amp;lt;add assembly=&lt;span class="str"&gt;"Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral,&lt;br /&gt;PublicKeyToken=b03f5f7f11d50a3a"&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;br /&gt;3. And also change enableSessionState to &lt;span class="kwrd"&gt;true&lt;/span&gt; at &amp;lt;pages enableSessionState=&lt;span class="str"&gt;"false"&lt;/span&gt;.&lt;/pre&gt;&lt;br /&gt;Below you can see the Report is displayed in your SharePoint site.  Fill StartDate and EndDate parameter and "View Report" button is clicked.&lt;/pages&gt;&lt;/add&gt;&lt;/assemblies&gt;&lt;/safecontrol&gt;&lt;/safecontrols&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MbjQ2nrk48Q/SQlsNR-kxbI/AAAAAAAAAAU/NlSjH2kdHRk/s1600-h/Report.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 223px;" src="http://1.bp.blogspot.com/_MbjQ2nrk48Q/SQlsNR-kxbI/AAAAAAAAAAU/NlSjH2kdHRk/s400/Report.jpg" alt="" id="BLOGGER_PHOTO_ID_5262856614979093938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;safecontrols&gt;&lt;safecontrol assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" typename="*" safe="True"&gt;&lt;assemblies&gt;&lt;add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"&gt;&lt;pages enablesessionstate="false"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pages&gt;&lt;/add&gt;&lt;/assemblies&gt;&lt;/safecontrol&gt;&lt;/safecontrols&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7948605918764552233-6126110730302591307?l=rbn-yang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rbn-yang.blogspot.com/feeds/6126110730302591307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7948605918764552233&amp;postID=6126110730302591307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/6126110730302591307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7948605918764552233/posts/default/6126110730302591307'/><link rel='alternate' type='text/html' href='http://rbn-yang.blogspot.com/2008/10/share-point-site-web-part-using.html' title='SharePoint Web Part using ReportViewer(Reporting Services SharePoint Integration)'/><author><name>Robin</name><uri>http://www.blogger.com/profile/16853070467924238240</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MbjQ2nrk48Q/SQlsNR-kxbI/AAAAAAAAAAU/NlSjH2kdHRk/s72-c/Report.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
