如何优化这项任务?

时间:2011-08-22 13:36:10

标签: c# combobox datatable pocketpc windows-mobile-6

我有四个组合框,我想用同一个表格中的相同数据填充它们,但是这个任务需要花费大量时间在掌上电脑设备上。 所以我想知道是否有比这更快的方法:

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";
        }

2 个答案:

答案 0 :(得分:0)

不,这是可以接受的。但是,我会将查询数据库的逻辑移到一个单独的类中。

答案 1 :(得分:0)

通常你不应该在组合框中添加很多项目;它很慢,用户很难选择正确的项目。

我更喜欢使用用户控件以友好的方式显示我的数据。

如果不是令人满意的更改,您可以在将项目加载到组合框之前暂停表单布局:

try
{
this.SuspendLayout();
}
finally
{
this.ResumeLayout();
}