2012-04-13 1 views
2

ここで私がしようとしているものの例です。私はプログラムを提出するサッカーゲームを作っていると仮定して、私はいくつかのフィールドを持っているはずですが、そのうちの2つはオートコンプリートを行います。ホームチームのための1つのテキストボックスと、アウェイチームのための1つのテキストボックス。私は、私は2つのテキストボックスのいずれかで何かを入力するとプログラムは、テーブル内のすべてのチームをチェックする提案や結果をロードしたいC#とSQL Serverでオートコンプリートを実装する方法とその価値はありますか?

----------------------------- 
| home_team | away_team | 
----------------------------- 
| Chelsea FC | Arsenal | 
| Liverpool | Norwich FC | 
| Man. City | Everton | 
| Tottenham | Stoke City | 

:ここ

は、データベーステーブルがどのように見えるかの簡単な例であります。これは、以前の提出物に基づいて、より正確かつ迅速に正しいチーム名をタイプすることです。

これはどのように行われますか?

また、私がこれを行うと、データベースに負担がかかりすぎて次回の提出ごとに悪化するでしょうか? "home_team"列と "away_team"列のすべてをすべての文字でチェックする必要があるかのように思えるので、textBoxの1つに入力します。

これはWindowsフォームにあります。

+0

フロントエンドwinformsまたはaspはありますか? – emd

+0

@emd Windowsフォーム – Alternatex

答えて

4

フォームが読み込まれたら、すべてのデータとフィールドを取得することをお勧めします。あなたが手紙をタイプするたびにリクエストを実行するのは悪い考えです。

すべてのフィールドを取得したら、単にリストに入れて、テキストボックスにAutoCompleteの特典があります。

Auto Complete ModeAuto Complete Sourceを設定すると完了です!

この例を確認すると、非常に簡単です!

Auto Complete TextBox in C#

+0

いつあなたはそれが価値があることをやめると言いますか?私はデータベースに300〜500の文字列を持つことになると思いますが、Formがロードされるたびにすべてのプログラムをロードするのは難しい作業です。これはおそらく100未満の結果に最適です。 – Alternatex

+2

私はそれについてまだ心配しないでしょう、それはあなたが思うよりもはるかにパフォーマンスです!私はこれまで約3000文字列でこれをやっていましたが、それでもかなりうまく動作します。あなたはまだパフォーマンスの問題をヒットする前に、多くの部屋があります。問題が発生するときは、さまざまな戦略を適用して、ストリングを非同期的にロードするか、ストリングをキャッシュするなどのパフォーマンスを向上させることができます。 – Alexandre

関連する問題