SharePointAds TextOnly

Saturday, 27 February 2010

Sharepoint Search Control: How to add “All Sites” option in Sharepoint search control?

Today I worked on small task; I need to implement “All Sites” option in search control drop downbox. By default it’s not available in search control dropdown.

Follow simple steps to add “All Sites” option in Sharepoint Search control:

1. Goto root site and click on Site Setting

2. Click on ‘Search Settings’ from Site Collection Administration section

3. Second radio button option is selected for first time with name as ‘Do not use custom scopes. Display results in the search results page (/_layouts/osssearchresults.aspx).’ This option is for “This Site:” option

4. First radio button option is “Use custom scopes. Display richer results using the following Search Center:” This option is for custom drop down items like "All sites" and “people” options.

5. So to display “All Sites” option, we need to have “ Search Center ” team site. This Search Center team site is automatically created within enterprise sharepoint edition; but if you don’t have enterprise version then you need to create Search Center site

6. So create new team site by going to root site, select Site Actions -> Create Site , give search site name, URL name like e.g. Search, and select template as Click on Enterprise tab and click on ‘ Search Center With Tabs ’ option. Next click on Create button. It will create new Search Center site.

7. Once you create this site, copy URL of search site and paste into first radio option text box (as explained in step 4) in search setting option. (e.g. /Search/Pages), click on OK button

8. After that it will give new extra options “All sites” and “People” in search dropdown control.

Search anything with “All sites” option, it will return result in http:// [your_site_name] /_layouts/osssearchresults.aspx page.



.

Thursday, 11 February 2010

Silverlight: How to change color style for progress bar?



In silverlight we can use progress bar control, but it's default template is with little light colors.



in this progress control use forground = "Red" but in this control this color look very lighter than original. So what to do if we want to use original solid html colors?

I tried with different methods like using



1. MyAverageBar.Foreground = new SolidColorBrush ( Colors .Red);

2.
MyAverageBar.Foreground = new SolidColorBrush ( Color .FromArgb(255,255,0,0));

but actually its styling problem.

How to change default Style of progress bar?

I changed default style using Microsoft Expression Blend! (Blend is useful in those perpose means we can do this thing in Visual studio also but this is with long process... so blend is easier)

Follow the following steps:

  1. Open XAML file in Blend!
  2. Right click on your progress control bar and select Edit Template > Edit a Copy.
  3. It will open new window to allow to create style resource
  4. Change 'This document' option from 'Define In' section, click on dropdown and select progress bar control
  5. Click on OK
  6. Then again click on Progress bar control
  7. From properties window click Fill style in Brushes section, it will open new menu and then select ' Reset ' menu.
  8. press Cntr+S (save xaml file)
With this style it will remove default color style



Now Progress bar control looks like above.. :)







Silverlight: How to use Timer Control?

MainPage.xmal:



In between control add following code,

< Grid x : Name ="LayoutRoot">

< TextBlock Loaded ="StartTimer" x : Name ="myTextBlock" />

Grid >

Right click on "StartTimer" and select 'Navigate to Event Handler', it will create new event handler method in .cs file. Add following code in xmal.cs file :



MainPage.xmal.cs:

private void StartTimer( object sender, RoutedEventArgs e)

{

System.Windows.Threading. DispatcherTimer newDispatcherTimer = new System.Windows.Threading. DispatcherTimer ();

newDispatcherTimer.Interval = new TimeSpan (0, 0, 0, 0, 1000); // for 1 seconds

newDispatcherTimer.Tick += new EventHandler (Every_Seconds);

newDispatcherTimer.Start();

}

int iCounter = 0;

// Retrive after every 1000 millseconds(1seconds) while the DispatcherTimer is active.

public void Every_Seconds( object o, EventArgs sender)

{

myTextBlock.Text = "Second Counter : " + (iCounter++).ToString();

}



Hope this will clear timer concepts in Silverlight!!!