私は単純なListViewを3〜4列のクライアントリストを表示しました。その下にはTextBox
があり、これはSql Serverで検索して関連する結果を表示するために使用されます(基本的に入力時に1文字ごとにsql query
を実行します。秒、その後、別の文字が、それは少し速く行い、その後、別のレコードの多くを表示...WinFormsでcharsの量が3以上の場合ListViewで検索結果を表示
だから私はこれまで可能な修正のカップルについて考えた:
- スタートを3つの文字を入力した後検索(名前には少なくとも3文字以上)、1文字目/ 2文字目には何もしないで0を表示します(検索から戻ってもまだ遅れています)
- リストを一度
List<string>
にロードするか、これをカバーするオブジェクトを作成しますが、他のユーザー(新しいクライアントの追加、名前の更新など)が他の作業場所から行った変更に常に同期する必要があります適切な情報でリストを更新してください。それをデータベースに関連付けることは、より簡単な考えのようです。 - 他のアイデア?多分両方の組み合わせ?
private void klienciSearchBoxTextChanged(object sender, EventArgs e) { string varSzukaj = klienciSearchBox.Text.Trim(); if (varSzukaj.Length >= 3) { pobierzDaneSqlKlientaOgolne(listViewKlienci, lvwColumnSorterKlienci, varSzukaj, radioButtonWyszukajPoPortfelu.Checked ? 1 : 0); } else if (varSzukaj.Length > 0 && varSzukaj.Length < 3) { // do nothing } else { pobierzDaneSqlKlientaOgolne(listViewKlienci, lvwColumnSorterKlienci, varSzukaj, radioButtonWyszukajPoPortfelu.Checked ? 1 : 0); }
第一または第二のアイデアは十分ですか誰かが他の実装を提案することができます:
は、ここでのサンプルコードは?
-1投票が必要です – MadBoy
私はこれを0に戻しました有効なユーザーインターフェイスのシナリオです。誰がダウン投票したか分からない。 –