XamDataGrid에서 "시작"대신 "포함"필터 설정을 변경하려고합니다. 기능 구현을 허용하는 속성이 있습니까?XamDatGrid의 필터 속성을 변경하십시오.
많은 연구 끝에 그것을 찾을 수 없었습니다. 누군가 내가 놓친 것을 발견하면 도움을 줄 수 있다면 좋을 것입니다.
XamDataGrid에서 "시작"대신 "포함"필터 설정을 변경하려고합니다. 기능 구현을 허용하는 속성이 있습니까?XamDatGrid의 필터 속성을 변경하십시오.
많은 연구 끝에 그것을 찾을 수 없었습니다. 누군가 내가 놓친 것을 발견하면 도움을 줄 수 있다면 좋을 것입니다.
내가 필요한 속성을 얻었습니다. 모두에게 감사드립니다.
그것은 이렇게 가고,
<igDP:Field Name="Description">
<igDP:Field.Settings>
<igDP:FieldSettings
AllowGroupBy="True"
AllowEdit="True"
AllowRecordFiltering="True"
FilterOperatorDefaultValue="Contains"/>
</igDP:Field.Settings>
</igDP:Field>
당신이 아니라 당신의 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
}
, 당신 단지 DataBind FilterText 속성에 TextBox
을 바인딩하고 Items 속성에 대한 ItemsSource
또는 Grid (여기에는 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"/>
감사합니다 브라이언, 제안을 시도합니다 .. – user1521554
찾고있는 대답이 아닐 수도 있지만 'ICollectionView'를 사용하여 데이터 소스를 직접 필터링 할 수 있습니다. UI 구현과 관련이 없으므로 유연성이 향상됩니다 (MVVM을 사용하고 있습니까?). 이 접근법에 관심이 있으시면 몇 가지 샘플 코드로 답변을 추가 할 수 있습니다. –
예, MVVM을 사용하고 있지만 데이터 소스를 필터링하면 도움이 될지 궁금합니다. 필터링 기능은 시청자가 쉽게 레코드를 찾을 수 있도록하지만, 불행히도 이름의 일부가되어야하는 많은 문자로 시작됩니다. 내가 찾고있는 이유가 들어 있습니다. – user1521554