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と同様です)。どうやら、この時点まで、何も起こりません。このコードは実行されないようです。

4

1 に答える 1

2

これにより、にはデフォルトでObjectListViewという名前のプロパティがあり、フィルタリングを有効にするにはを設定する必要があります。UseFilteringfalsetrue

于 2012-01-25T10:12:46.407 に答える