On a recent project, I worked on emulating functionality similar to what is found in the LAN client where a user is presented a dialog asking them to choose between different activity types then launching into the Schedule Activity functionality. I found this was fairly easy to duplicate in the web client, and in this post, I'll quickly go through the steps for creating that type of functionality.
First of all, we need to create a quick from which will give users a choice of what type of activity to create. Since this form contains no bound controls, it doesn't matter where we save it. For the sake of consistency, I'd recommend saving it under SalesLogix Activity Support.
Under SalesLogix Activity Support in the Project Explorer, expand the Activity node, right-click the Forms folder and select "Add Form".
The important elements of this view are the radio group control and the button. The radio group will provide users the choice of what type of activity to create, and the button will handle launching the appropriate schedule activity dialog based on the option selected.
Once you have the blank form, add a radio group and control In the radio group control, I have added choices for Phone Calls, Meetings and ToDos.
On the button I added to the form, I added a C# Snippet Action item to the click event of the button and added the following code:
LinkHandler Link = new LinkHandler(Page);
if (rgActivityType.SelectedIndex == 0)
else if (rgActivityType.SelectedIndex == 1)
else if (rgActivityType.SelectedIndex == 2)
throw new Sage.Platform.Application.ValidationException("You must select a activity type to continue");
Creating a LinkHandler object gives you access to the various Schedule Activity forms. An IF...Else statement calls the right schedule form based on what was selected. I also added a Validation Exception in case no activity type was selected before clicking the Next button.
Once you have saved the new quick form, it is ready to go. To use this form, you will need to add it to the available smartparts for whatever portal page you plan on calling the interface from. To add the form, expand the Portal Manager-Sage SalesLogix-Pages nodes, and double click on whichever page you want to use.
When the page has opened, select the SmartParts tab and add the new form. You will need to set the Target Workspace value to "DialogWorkspace".
Now that the QuickForm has been added, you will need to add code to launch the form. This could be from a button on a detail view, or wherever you can add a C# Snippit action.
I'm simply using the Dialog service to call the new QuickForm. The SetSpecs function I'm using allows you to set the dimensions of the form you launch. You may have to experiment with the settings to make things the appropriate size.
//create dialog for activity type to launch...
if (DialogService != null)
DialogService.SetSpecs(110, 318, "ScheduleActivity", "Schedule Followup Activity");
That's about all there is to it! I hope you find this example useful.
Thanks for reading!