SSW .NET Toolkit > User Guide

DOT NET Tool kit - Develop Applications More Efficiently with the SSW .NET Toolkit

The standard way we do database searches

What is SSW WinSearch?

SSWSearch provides a standard search functionality to your application that solves rule Do you know how to design a user friendly search system?.

Search Form - Simple
Figure: SSW WinSearch - Simple Keyword Search

Search Form - Standard
Figure: SSW WinSearch - Standard

Search Form - Advanced
Figure: SSW WinSearch - Advanced

How to use the SSW WinSearch

User interface elements

  • class SearchPanel

  • The main user control which you can drop onto the form. You can interact with this control through a series of events:

  • OKButtonClicked

    When a search result is selected, you may want to use this event to open up another form to, for example, edit the selected record.

  • NewSearchButtonClicked

    Allows you to perform actions when the new search button is clicked.

  • ExecuteSearch

    this event provides a set of event arguments, which contains an array of SearchCriteria the user has specified. This is where this set of SearchCriteria should be read, and converted to a format (e.g. SQL) which could be used to query the data source.

  • CloseButtonClick

    When the close button is clicked

  • class SearchCriteriaPanel

    A search user control on the Standard tab of the SearchPanel

  • class StandardCriteriaPanel
    Inherits SearchCriteriaPanel
    A standard user control on the Standard tab consisting of the search criteria name, the search condition (e.g. Contains, Begins with, etc), and a text box where the user can enter the criteria

  • Non-user interface elements

  • class Criteria
  • The concept of a searchable criteria. This is added to the SearchPanel. SearchableCriteria collection (with the SearchPanelCriteria wrapper class). The SearchPanel will populate the advanced tab with all these criteria in the drop down menu. The user can then chose which criteria to search with. A criteria is a "thing" that the user can search. In simple applications, this is just a column name in a database table. You can associate a validator with a criteria, so that you can check the user's input to the criteria. The CreateSearchCriteria() method takes the criteria, slots in the user's selection of SearchCondition, and criteria the user has specified, and creates a SearchCriteria object. For example:

    Criteria firstName = new Criteria(...);
    SearchCriteria sc = firstName.CreateSearchCriteria(Contains, "john");

    Design considerations:
    The reason for the separation between Criteria and the specification of a Criteria (SearchCriteria) is that this allows the user to specify a search criteria multiple times to narrow the search down. So Criteria becomes a template, and a SearchCriteria becomes the data created with the template. It's much better than having a class which combines both the definition and specification of a search criteria, with which you have to  ndividually specify the list of SearchConditions, Validators and Name.

  • class SearchCriteria
    Represents the user input values to a particular Criteria. It has an association with:

    • A Criteria object 
    • A user selected search condition
    • A user entered search value

  • class SearchCondition

    A search condition, for example, Contains, Between, Begins with, Is.

  • class SearchConditionCollection

    A collection of SearchConditions.

  • class NumericCriteriaConditions
    Inherits SearchConditions
    Represents a set of search conditions suited for numeric search criteria.

  • class StringCriteriaConditions
    Inherits SearchConditions
    Represents a set of search conditions suited for string search criteria.