如何填充c#windows表单combobox?
如何从sql数据库填充一个combobox(带有id和名称列的学生表),显示文本代表学生的名字,combobox项目的值是该学生的id,当我得到的值时combobox我会得到id值
以下是您的重要属性。
ComboBox.DataSource属性
数据源可以是数据库,Web服务或稍后可用于生成数据绑定控件的对象。 设置DataSource属性后,无法修改items集合。
ComboBox.DisplayMember属性
一个String,指定DataSource属性指定的集合中包含的对象属性的名称。 默认值为空字符串(“”)。
ComboBox.ValueMember属性
一个String,表示DataSource属性指定的集合中包含的对象属性的名称。 默认值为空字符串(“”)。
DataTable dataTable = GetDataTable("Select * from Student"); // You have to implement the ways to retrieve data from the database. comboBox1.Datasource = dataTable; comboBox1.DisplayMember = StudentName; // Column Name comboBox1.ValueMember = StuentId; // Column Name
如果您想以编程方式添加项目,这是一种方法。
private class Item { public string _Name; public int _Id public Item(string name, int id) { _Name = name; _Id = id; } public string Name { get { return _Name; } set { _Name = value; } } public string Id { get { return _Id; } set { _Id = value; } } } comboBox1.DisplayMember = "Name"; comboBox1.ValueMember = "Id"; comboBox1.Items.Add(new Item("Student 1", 1)); comboBox1.Items.Add(new Item("Student 2", 2)); comboBox1.Items.Add(new Item("Student 3", 3));
有很多方法可以做到这一点。
如何:从Windows窗体combobox中添加和删除项目
ComboBox.Items属性
首先,您需要弄清楚如何从数据库中获取数据,但我会假设您已经知道或打算就此提出另一个问题。 从那里,你最好的办法是将一些集合绑定到ComboBox
。 以下是使用DataSet
执行此操作的示例。 您还可以绑定到List
或其他IEnumerable
,如果您要使用LINQ来获取数据,这将更有意义。 这里有关于将List
绑定到ComboBox
也许您可以告诉我们您打算如何获取数据,以便我们可以为您提供更加量身定制的答案?