我有四个组合框,我想用同一个表格中的相同数据填充它们,但是这个任务需要花费大量时间在掌上电脑设备上。 所以我想知道是否有比这更快的方法:
private void autreform_Load(object sender, EventArgs e)
{
DataTable dtable = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter("select designation, num_produit from STK_PRODUITS_GENERIQUE where num_famille in (select num_famille from parametrage_vidange where produit='autres') ", mySqlConnection1);
adapter.Fill(dtable);
try
{
remplircombo(comboBox1, dtable);
remplircombo(comboBox2, dtable);
remplircombo(comboBox3, dtable);
remplircombo(comboBox4, dtable);
}
catch (Exception excr) { MessageBox.Show(excr.Message); }
}
private void remplircombo(ComboBox combo, DataTable dtable )
{
combo.DataSource = new BindingSource(dtable, null);
combo.DisplayMember = "designation";
combo.ValueMember = "num_produit";
}
答案 0 :(得分:0)
不,这是可以接受的。但是,我会将查询数据库的逻辑移到一个单独的类中。
答案 1 :(得分:0)
通常你不应该在组合框中添加很多项目;它很慢,用户很难选择正确的项目。
我更喜欢使用用户控件以友好的方式显示我的数据。
如果不是令人满意的更改,您可以在将项目加载到组合框之前暂停表单布局:
try
{
this.SuspendLayout();
}
finally
{
this.ResumeLayout();
}