0

4 つのコンボボックスがあり、同じテーブルから取得した同じデータを入力したいのですが、ポケット PC デバイスではこのタスクに多くの時間がかかります。だから私はこれよりも速い方法があるのだろうか:

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

2 に答える 2

0

通常、コンボボックスに多くのアイテムを追加するべきではありません。それは遅く、ユーザーが正しいアイテムを選ぶのが難しくなります。

ユーザーコントロールを使用して、データをわかりやすく表示することを好みます。

満足のいく変更ではない場合は、アイテムをコンボボックスにロードする前にフォームのレイアウトを一時停止できます。

try
{
this.SuspendLayout();
}
finally
{
this.ResumeLayout();
} 
于 2011-08-22T13:43:34.033 に答える
0

いいえ、それは受け入れられます。ただし、DB をクエリするロジックを別のクラスに移動します。

于 2011-08-22T13:38:22.517 に答える