Scenario: I am in the process of moving an application from access to C# and on one of the forms(in access) the user is able to select a drop down that has 3 columns (ID, FirstName, LastName). Once they select from the list the ID is displayed on the drop down.
Question: Is it possible to recreate this functionality using a combo box? What alternatives can you suggest?
EDIT:
alt text http://www.freeimagehosting.net/uploads/7acfb7bb8b.jpg
Dropdown is on the top left, a text box is next to it that uses the name from the last two columns of the dropdown
EDIT 2:
Since the multiple columns arent feasible is there a way to specify mutiple displaymembers to show up on the d开发者_运维知识库ropdown instead? For Example: ID - FirstName LastName
Currently a employee object is being added to the dropdown with those properties. I tried setting display member to
cmbEmp.DisplayMember ="EmployeeID " + "FirstName " + "LastName";
but that doesn't. Should I scrap using the employee object and just make a SQL call grabbing those concatenated together? I was attempting to reuse some code (I was given this project halfway through its completion) but it may not be feasable.
The common method of achieving this is overriding the onDropDown event to draw your own dropdown window with multiple values. There's plenty of examples out there ranging from walkthroughs to downloadable controls. Here's a few:
- http://www.codeguru.com/cpp/controls/combobox/multicolumncombos/article.php/c1825/
- http://www.codeproject.com/KB/combobox/multicolumncombo.aspx
- http://www.codeproject.com/KB/combobox/Multicolumn_ComboBox.aspx
- http://www2.syncfusion.com/library/classref/Syncfusion.Windows.Forms.Tools.MultiColumnComboBox.html
- http://www.brothersoft.com/downloads/multicolumn-combobox.html
- http://www.edneeis.com/control.aspx?ID=7
From your image combo box does not directly have that capability, however I have seen custom 3rd party controls that do it. I will update if I can find the name of one.
The software I used had a license of http://www.active-x.com/ActiveX/APEX_Software_Corporation/True_DBList_Pro_5_0/ However this program was written in the days of VB5 (I am not sure if the company that makes the control exists anymore). I'd advise try to find something similar but more up to date.
精彩评论