Загрузка...

Поиск в C#

Тема в разделе C# создана пользователем IEscobaro 26 июл 2023. (поднята 26 июл 2023) 159 просмотров

Загрузка...
  1. IEscobaro
    IEscobaro Автор темы 26 июл 2023 #EVO9 FOREVER 45 21 дек 2017
    Вечер добрый :stitchcute:, столкнулся с такой проблемой....
    пишу программу одну и дошел до создания функции поиска (поиск должен быть по 3 категориям - Имя, Номер рапорта и Номер техники)
    суть такова что я сделал поиск по имени, но вот добавить еще 2 категории ну никак не получается (в интернете решение только для Базы Данных, а у меня данные в JSON)
    CSHARP
            private void SearchBox(object sender, RoutedEventArgs e)
    {
    try
    {
    string SearchText = fullname_search.Text.Trim().ToLower();
    ICollectionView dataView = CollectionViewSource.GetDefaultView(AppList.ItemsSource);
    if (!string.IsNullOrEmpty(SearchText))
    {
    dataView.Filter = item =>
    {
    ReportItem reportItem = item as ReportItem;
    return reportItem.FullName.ToLower().Contains(SearchText);
    };
    }
    else
    {
    dataView.Filter = null;
    }
    } catch (Exception ex) { }
    }
    А разметка у меня вот так
    CSHARP
    <GroupBox HorizontalAlignment="Left" Height="246" Margin="315,380,0,0" VerticalAlignment="Top" Width="470" FontWeight="Bold" Background="White">
    <StackPanel>
    <Label>Search</Label>
    <Separator/>
    <Label Content="Nume/Prenume" HorizontalAlignment="Left" Height="25" Margin="10,10,0,0" VerticalAlignment="Top" Width="150"/>
    <TextBox x:Name="fullname_search" HorizontalAlignment="Right" Height="25" Width="255" Margin="0, -23, 15, 0" BorderBrush="Black" VerticalAlignment="Center" Padding="5"/>
    <Label Content="Nr. raport" HorizontalAlignment="Left" Height="25" Margin="10,10,0,0" VerticalAlignment="Top" Width="150"/>
    <TextBox x:Name="nrraport_search" HorizontalAlignment="Right" Height="25" Width="255" Margin="0, -23, 15, 0" BorderBrush="Black" VerticalAlignment="Center" Padding="5"/>
    <Label Content="Nr. tehnica de calcul" HorizontalAlignment="Left" Height="25" Margin="10,10,0,0" VerticalAlignment="Top" Width="150"/>
    <TextBox x:Name="nrtehnic_search" HorizontalAlignment="Right" Height="25" Width="255" Margin="0, -23, 15, 0" BorderBrush="Black" VerticalAlignment="Center" Padding="5"/>
    <Button x:Name="search" Content="Cautare" HorizontalAlignment="Right" Click="SearchBox" Height="25" Width="125" Margin="0, 30, 15, 0" BorderBrush="Black" Background="White"/>
    </StackPanel>
    </GroupBox>
     
    26 июл 2023 Изменено
  2. vtlstolyarov
    vtlstolyarov 26 июл 2023 474 8 янв 2022
    Оформи код нормально, читать невозможно.
    CSHARP
    return reportItem.FullName.ToLower().Contains(SearchText);
    это твой код который ищет - сюда через "&&" надо добавить остальные условия.
     
    1. constsvetlov
      vtlstolyarov, удивительно, что ты его понял...
    2. vtlstolyarov
      constsvetlov, :) ну как бы мой основной язык, за почти 20 лет парсер уже натренировался и не такое читать
Top