2012-01-25 12 views
0

あなたが入力するときに(iTunesのように)検索を実装しようとしています。私はObjectListViewを使用しています。さらに、私は以下のように検索を行うために使用されたテキストボックスを持っている:誰かがこのコードの何が間違っているのか教えてもらえますか?

private void textBoxSearch_TextChanged(object sender, EventArgs e) 
     { 

      string txt = textBoxSearch.Text; 
      TextMatchFilter filter = null; 
      if (!String.IsNullOrEmpty(txt)) 
      { 
       filter = TextMatchFilter.Contains(myObjectListView, txt); 
      } 
      // Setup a default renderer to draw the filter matches 
      if (filter == null) 
       myObjectListView.DefaultRenderer = null; 
      else 
      { 
       myObjectListView.DefaultRenderer = new HighlightTextRenderer(filter); 

       // Uncomment this line to see how the GDI+ rendering looks 
       myObjectListView.DefaultRenderer = new HighlightTextRenderer { Filter = filter, UseGdiTextRendering = false }; 
      } 

      // Some lists have renderers already installed 
      HighlightTextRenderer highlightingRenderer = myObjectListView.GetColumn(0).Renderer as HighlightTextRenderer; 
      if (highlightingRenderer != null) 
       highlightingRenderer.Filter = filter; 

      myObjectListView.ModelFilter = filter; 
     } 

これが動作しない理由を誰かが把握することはできますか? 上記のコードは、ユーザーがテキストボックスに入力したときに検索結果をフィルタリングするためのコードです(iTunesを使用したことがある場合はiTunesのように)。明らかに、この時点まで何も起こりません。このコードは実行さえしないようです。 thisパー

+2

(1)_meant_は何ですか? (2)実際には何をしていますか?これらの2つの質問への答えは、問題を呈している最小のコードサンプル(あなたが持っているように思われるので、少なくとも賞賛があります)は、バグレポートには不可欠です。 – paxdiablo

+0

上記のコードは、ユーザーがテキストボックスに入力する際に​​検索結果をフィルタリングするためのコードです。明らかに、この時点まで何も起こりません。このコードは実行さえしないようです。 –

+0

デバッガでコードを実行して、実際に実行されているかどうかを確認しましたか? – ChrisF

答えて

2

ObjectListViewはデフォルトでfalseで、フィルタリングを有効にするためにtrueに設定する必要がありますUseFilteringという名前のプロパティを持っています。

+0

私はこの設定が常に欠けているとは思いません。ありがとう。これは問題を解決します。 –

関連する問題