Class FindProduct
QuickSearch for the Add Quote Line dialog, where a single-line user input is passed to the correct QuoteConnection FindProduct method, and results are returned in a standard or specified format back. The format can be specified by setting a columnLayout part in the extrainfo. For example "columnLayout=Code\tName\tUnitListPrice\tQuantityUnit"
Inherited Members
Namespace: SuperOffice.CRM.Lists
Assembly: SoDataBase.dll
Syntax
[MDOProviderPlugin("FindProduct")]
[MDOAdditionalInfoSeparator("&")]
[MDOAdditionalInfo("QuoteAlternativeId", "Alternative links to a quote, which tells us which quote connection to use", 123)]
[MDOAdditionalInfo("erpPricelistKey", "Pricelist to restrict search to", "PL123")]
[MDOAdditionalInfo("columnLayout", "Named column layout", "layout123")]
public class FindProduct : LiteralsOnlyBase, ISoListProvider, ISoList
Constructors
FindProduct()
QuickSearch for the Add Quote Line dialog, where a single-line user input is passed to the correct QuoteConnection FindProduct method, and results are returned in a standard or specified format back. The format can be specified by setting a columnLayout part in the extrainfo. For example "columnLayout=Code\tName\tUnitListPrice\tQuantityUnit"
Declaration
public FindProduct()
Fields
ProviderName
QuickSearch for the Add Quote Line dialog, where a single-line user input is passed to the correct QuoteConnection FindProduct method, and results are returned in a standard or specified format back. The format can be specified by setting a columnLayout part in the extrainfo. For example "columnLayout=Code\tName\tUnitListPrice\tQuantityUnit"
Declaration
public const string ProviderName = "FindProduct"
Field Value
Type | Description |
---|---|
string |
Methods
AddItems()
Subclass contract: use the RawRootItems and RawHeadingItems properties to add items to your literals-only list. The base class will then perform any search or flattening required.
Declaration
protected override void AddItems()
Overrides
Remarks
Lists that only contain literals can be either flat or grouped. If you create a grouped list and the caller specifies a forceFlatList attribute, the base class will do the flattening for you.
Examples
This example shows a typical implementation of a literal list, in this case the date interval list from the Filter dialog:
[MDOProviderPlugin( "FilterFutureDate" )]
public class FilterFutureDateList : LiteralsOnlyBase
{
protected override void AddItems()
{
RawRootItems.Add( new SoListItem( 1, "[SR_DATE_RANGE_3MONTHS]", string.Empty, string.Empty ) );
RawRootItems.Add( new SoListItem( 2, "[SR_DATE_RANGE_4MONTHS]", string.Empty, string.Empty ) );
RawRootItems.Add( new SoListItem( 3, "[SR_DATE_RANGE_6MONTHS]", string.Empty, string.Empty ) );
RawRootItems.Add( new SoListItem( 4, "[SR_DATE_RANGE_1YEAR]", string.Empty, string.Empty ) );
RawRootItems.Add( new SoListItem( 5, "[SR_DATE_RANGE_2YEAR]", string.Empty, string.Empty ) );
}
}
Note that using a search in this case yields unexpected results. The search is performed on the raw items, which contains resource tags - and that is not what you actually want to search against. So resources + search do not go together.