For one of my customers projects I will need a custom multi column TDBLookupComboBox with filter / search capabilities. Key functionalities:
1. Act like a standard Delphi TDBLookupComboBox. Meaning, I can just swap out my current standard DBLookupComboBoxes with no rewrite of the code.
2. Support for AutoComplete (True / False property). If AutoComplete = True, do not automatically drop down the combo box and show the match as highlighted for the user to press either Enter or Tab to select it. If AutoComplete = False, then automatically drop down the combo box once the user starts typing and show only items that match the input in the combo box
3. Search / Filter on items should be active when the user starts typing only. (Filter on all list columns if using multiple columns) Once the user hit Enter or Tab to select and item and move on, filter should be disabled and show all items if the user drops it down again. Filter should be non-case sensitive and work with partial matches.
4. Once the user enters the combobox, either let the user drop it down and select an item with no filtering, or let the user start writing some text in the combobox. (The input text has to be shown in the text area of the DBLookupComboBox). The drop down will then filter and show only items that matches the text that the user writes.
5. Configurable if search / filtering is allowed by a property called DropDownType. Values:
• dtDropDownOnly. When the user enters the control, automatically drop down the combo box for the user to select. No filtering or typing allowed.
• dtDropDownEdit: Allow filtering / edit by letting the user type in the control.
6. If the user inputs a value that is not in the lookup list, then no items should be shown in the AutoComplete or in the dropped down list. If the user then hits Enter or Tab to close or navigate away from the control and no Items are selected, then fire an event so I can add a new record in the lookup data table and select it after it has been inserted. Let’s call this event “OnEmptyResult”. The input variables for this event should be a string containing the inputted value in String format. The event should have a Boolean result value. If Result = True, that means a new record have been inserted in the lookup list record set. If so, refresh the lookup list and set the newly added value as active. If Result = False, do nothing. This means I have not inserted a new lookup list record.
7. Support for multi column list view. Show header column should be configurable (True / False)
8. if the user inputs a search term that gives 3 results, let the user use the up / down key to navigate them and hit Enter or Tab key to select it and close the combobox. At the same time, do not take focus away from the search area as the user can input more characters.
9. Just to mention it again. Filtering of lookup items should only take place once the user types characters. As soon as the user selects an item by pressing Enter, click with the mouse or presses Tab to select and exit the control, then filtering should be disabled.
Installable component / package that is compatible with Delphi 10.2 Berlin.
PLEASE MAKE SURE YOU READ AND UNDERSTAND ALL THE REQUIREMENTS FOR THIS DELPHI COMPONENT. ONLY BID ON THIS PROJECT IF YOU HAVE STRONG EXPERIENCE IN COMPONENT WRITING AND KNOW YOU CAN COMPLETE THE PROJECT.
4 freelancers are bidding on average $297 for this job
I have completed of 80% code for you. Need clear 5 errors. is 1-2 day Also i not any prepaid. Only after complete work. You know i not lost and have exp.