There are so many ways to achieve that:
1). Bind your ComboBox.
this.comboBox1.DisplayMember = "FullName";
this.comboBox1.ValueMember = "your field";
this.comboBox1.DataSource = ds.Tables["tEmployee"];
2). Manually add items to ComboBox
private void ComboBoxTest_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable("Terrorists");
dt.Columns.Add("FirstName");
dt.Columns.Add("LastName");
dt.Rows.Add("Osama", "Bin Laden");
dt.Rows.Add("Saddam", "Hoessein");
dt.Rows.Add("George", "Bush");
for (int j = 0; j < dt.Rows.Count; j++)
{
string text = dt.Rows[j]["FirstName"].ToString() + " " + dt.Rows[j]["LastName"].ToString();
this.comboBox1.Items.Add(text);
}
}
3). Owner draw the comboBox items:
namespace Sample
{
public partial class ComboBoxTest : Form
{
public ComboBoxTest()
{
InitializeComponent();
}
private void ComboBoxTest_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable("Terrorists");
dt.Columns.Add("FirstName");
dt.Columns.Add("LastName");
dt.Rows.Add("Osama", "Bin Laden");
dt.Rows.Add("Saddam", "Hoessein");
dt.Rows.Add("George", "Bush");
this.comboBox1.DisplayMember = "FirstName";
this.comboBox1.DataSource = dt;
this.comboBox1.DrawMode = DrawMode.OwnerDrawFixed;
this.comboBox1.DrawItem += new DrawItemEventHandler(comboBox1_DrawItem);
}
void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
DataRowView dv = this.comboBox1.Items[e.Index] as DataRowView;
string text = dv["FirstName"].ToString() +" "+ dv["LastName"].ToString();
e.Graphics.DrawString(text, e.Font, new SolidBrush(e.ForeColor), e.Bounds);
}
}
}
Take your pick :)