0

XamDataGrid 内でフィルター設定を「begins with」ではなく「contains」に変更しようとしています。機能を実装できるプロパティはありますか?

私は多くの調査の結果、それを見つけることができませんでした.誰かが私が見逃したものがあるかどうかを見つけるのを手伝ってくれたら素晴らしいでしょう.

4

2 に答える 2

2

ViewModel でフィルター処理する場合は、次の例を使用して使用する方法を示しますICollectionView

public class TestViewModel : INotifyPropertyChanged
{
    private string _filterText;
    private List<string> _itemsList;

    public TestViewModel()
    {
        _itemsList = new List<string>() { "Test 1", "Test 2", "Test 3" };
        this.Items = CollectionViewSource.GetDefaultView(_itemsList);
        this.Items.Filter = FilterItems;
    }

    public ICollectionView Items { get; private set; }

    public string FilterText
    {
        get { return _filterText; }
        set
        {
            _filterText = value;
            Items.Refresh();
            this.RaisePropertyChanged("FilterText");
        }
    }

    private bool FilterItems(object item)
    {

        return this.FilterText == null || item.ToString().Contains(this.FilterText);
    }


    #region INotifyPropertyChanged Members

    public event PropertyChangedEventHandler PropertyChanged;

    private void RaisePropertyChanged(string propName)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propName));
    }
    #endregion
}

次に、View で、DataBindTextBoxを FilterText プロパティに、ItemsSourceまたは Grid を Items プロパティにバインドするだけです (ここでは ListBox で示されています)。

<TextBox x:Name="ItemsFilter" Text="{Binding FilterText, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Width="100" Margin="10" VerticalAlignment="Center"/>
<ListBox x:Name="ItemsList" ItemsSource="{Binding Items}" Grid.Row="1" Width="200" Margin="10" HorizontalAlignment="Left"/>
于 2012-08-27T20:52:46.703 に答える
1

必要な物件を手に入れました、みんなありがとう。

こんなふうになります、

    <igDP:Field Name="Description">
                                <igDP:Field.Settings>
                                    <igDP:FieldSettings
AllowGroupBy="True"
AllowEdit="True"
AllowRecordFiltering="True"
FilterOperatorDefaultValue="Contains"/>                                        
                                </igDP:Field.Settings>    
                            </igDP:Field>
于 2012-08-27T20:46:01.297 に答える