We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to display the selected row information in WinForms MultiColumnComboBox?

Platform: WinForms |
Control: MultiColumnComboBox |
Published Date: September 5, 2018 |
Last Revised Date: July 6, 2021 |
.NET Framework: 4

Display the selected the row

MultiColumnComboBox control don’t have direct option to retrieve selected row information and we can be able to get value of DisplayMember column only. So, we need to follow below steps to achieve this requirement.

 

Step 1: Populate the MultiColumnComboBox values from DataTable. The following code demonstrates the same.

C#

// Datasource DataTable        
DataTable dt = new DataTable("DataSource");
dt.Columns.Add("S.No");            
dt.Columns.Add("FirstName");            
dt.Columns.Add("LastName");            
dt.Columns.Add("Occupation");            
dt.Columns.Add("Place");
            
// Create a Data Set            
DataSet ds = new DataSet();            
ds.Tables.Add(dt);            
dt.Rows.Add(new string[] { "1", "Alex", "Zen", "Doctor", "Italy" });            
dt.Rows.Add(new string[] { "2", "Bob", "Harry", "Staff", "London" });            
dt.Rows.Add(new string[] { "3", "Alice", "Peter", "Developer", "US" });            
dt.Rows.Add(new string[] { "4", "Adlensha", "Fdo", "Staff", "Italy" });            
dt.Rows.Add(new string[] { "5", "Brick", "John", "Nurse", "North America" });            
dt.Rows.Add(new string[] { "6", "Collen", "Geo", "Developer", "India" });            
this.multiColumnComboBox1.DataSource = dt;            
this.multiColumnComboBox1.DisplayMember = "Place";

 

Step 2: Create a class to represent the Selected Row information of MultiColumnComboBox control. The following code demonstrates the same.

C#

/// <summary>
/// This represents the Selection Row information in MultiColumnComboBox
/// </summary>
public class SelectedRowInformation
{
  public SelectedRowInformation(string serialNumber, string firstName, string lastName, string occupation, string place)
  {
    SerialNumber = serialNumber;
    FirstName = firstName;
    LastName = lastName;
    Occupation = occupation;
    Place = place;
  }
  /// <summary>
  /// Holds serial number
  /// </summary>
  private string m_serialNumber;
  /// <summary>
  /// Gets/Sets the Serial Number
  /// </summary>
  public string SerialNumber
  {
    get { return m_serialNumber; }
    set { m_serialNumber = value; }
  }
  /// <summary>
  /// Holds the First Name
  /// </summary>
  private string m_FirstName;
  /// <summary>
  /// Gets/Sets the First Name
  /// </summary>
  public string FirstName
  {
    get { return m_FirstName; }
    set { m_FirstName = value; }
  }
  /// <summary>
  /// Holds the Last Name
  /// </summary>
  private string m_LastName;
  /// <summary>
  /// Holds the Last Name
  /// </summary>
  public string LastName
  {
    get { return m_LastName; }
    set { m_LastName = value; }
  }
  /// <summary>
  /// Holds the Occupation
  /// </summary>
  private string m_Occupation;
  /// <summary>
  /// Gets/Sets the Occupation
  /// </summary>
  public string Occupation
  {
    get { return m_Occupation; }
    set { m_Occupation = value; }
  }
  /// <summary>
  /// Holds the Place
  /// </summary>
  private string m_Place;
  /// <summary>
  /// Gets/Sets the Place
  /// </summary>
  public string Place
  {
    get { return m_Place; }
    set { m_Place = value; }
  }
}  

 

Step 3: Create a generic collection property with type of above Class to hold the Selected Row information.

C#

//Collection to hold Selected Row information
List<SelectedRowInformation> SelectedRowsCollection = new List<SelectedRowInformation>();

 

Step 4: The SelectedIndexChanged event will raise, when user selects the dropdown items and in here, we can add selected row information into SelectedRowsCollection. The following code demonstrates the same.

C#

this.multiColumnComboBox1.SelectedIndexChanged+=new EventHandler(multiColumnComboBox1_SelectedIndexChanged);
 
// Here we are adding selected row information for all rows in MultiColumnComboBox
if (this.multiColumnComboBox1.SelectedItem != null && this.multiColumnComboBox1.SelectedItem is DataRowView)
{
  DataRowView selectedRow = this.multiColumnComboBox1.SelectedItem as DataRowView;
  this.SelectedRowsCollection.Add(new SelectedRowInformation(selectedRow.Row["S.No"].ToString(),   selectedRow.Row["FirstName"].ToString(),selectedRow.Row["LastName"].ToString(),  selectedRow.Row["Occupation"].ToString(),  selectedRow.Row["Place"].ToString()));
}

 

Step 5: Now you can retrieve the saved selected row information from SelectedRowsCollection. The following code demonstrates the same.

C#

if (this.SelectedRowsCollection.Count > 0)
{
  MessageBox.Show(this, "S.no : " +   this.SelectedRowsCollection[this.SelectedRowsCollection.Count - 1].SerialNumber + Environment.NewLine
+ "FirstName : " + this.SelectedRowsCollection[this.SelectedRowsCollection.Count - 1].FirstName + Environment.NewLine
+ "LastName : " + this.SelectedRowsCollection[this.SelectedRowsCollection.Count - 1].LastName + Environment.NewLine
+ "Occupation : " + this.SelectedRowsCollection[this.SelectedRowsCollection.Count - 1].Occupation + Environment.NewLine
+ "Place : " + this.SelectedRowsCollection[this.SelectedRowsCollection.Count - 1].Place + Environment.NewLine, "SelectedRowInformation");
}
else
{
  MessageBox.Show("Select any rows in MultiColumnComboBox", "No rows selected");
}

 

Screenshot

Select a row in MultiColumnComboBox

Figure 1: Select a row in MultiColumnComboBox.

 

Show the selected row information

Figure 2: If click the Button, then it will show the selected row information.

 

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile