Bill,
When I create my own Id’s for the searcher and the search results, I can get the result grid to display but not the searcher. Below is my code. When I use the default names for the SmartPartPlaceholders I get both the searcher and the grid but I can only have one tab visible at a time.
View.cs
protected override void PresenterReady(EventArgs e)
{
mAssignmentSmartPartPlaceholder.Name = null;
mChildSmartPartPlaceholder.Name = null;
mPreviewSmartPartPlaceholder.Name = null;
mSearcherSmartPartPlaceholder.Name = null;
mChildSmartPartPlaceholder.SmartPartName = FourPanelViewContext.ChildViewId;
mAssignmentSmartPartPlaceholder.SmartPartName = FourPanelViewContext.AssignmentViewId; //Constants.WorkspaceNames.SearchResultsViewSmartPartPlaceholder
mPreviewSmartPartPlaceholder.SmartPartName = FourPanelViewContext.PreviewViewId;
mSearcherSmartPartPlaceholder.SmartPartName = FourPanelViewContext.SearcherViewId; //Constants.WorkspaceNames.SearchViewSmartPartPlaceholder;
}
Context.cs
public string SearcherViewId
{
get { return (mSearcherViewId != null) ? mSearcherViewId : mSearcherSmartPartName; }
set { mSearcherViewId = value; }
}
public string AssignmentViewId
{
get { return (mAssignmentViewId != null) ? mAssignmentViewId : mAssignmentSmartPartName; }
set { mAssignmentViewId = value; }
}
TabController.cs
#region SearcherViewController
protected ISearcherViewController SearcherViewController
{
get
{
if (mSearcherViewController == null)
{
CreateSearcherViewController();
}
return mSearcherViewController;
}
}
protected void CreateSearcherViewController()
{
ISearcherViewController searcherController = CreateSearcherViewController<OrganizationPageSearcher>();
}
protected virtual LOC.CEMS.Foundation.SearcherViewController<Organization, TSearcher> CreateSearcherViewController<TSearcher>()
where TSearcher : ISearcher, new()
{
LOC.CEMS.Foundation.SearcherViewController<Organization, TSearcher> svc = WorkItem.Items.AddNew<LOC.CEMS.Foundation.SearcherViewController<Organization, TSearcher>>();
svc.SetSearchResultsViewId(AssignmentViewId);
svc.SetSearchViewId(SearcherViewId);
mSearcherViewController = svc;
return svc;
}
#endregion