I am trying to make a search textbox which will update a combobox with only the values that the user types in the search box.
The combobox has a binding to a Microsoft access database.
I have tried multiple ways of doing this and this is the closest I have gotten. I get a method not supported exception.
Any help would be appreciated.
private void btnsearch_Click(object sender, RoutedEventArgs e) { try { movie.MovieDS movieDS = ((movie.MovieDS)(this.FindResource("movieDS"))); // Load data into the table Movie. You can modify this code as needed. movie.MovieDSTableAdapters.MovieTableAdapter movieDSMovieTableAdapter = new movie.MovieDSTableAdapters.MovieTableAdapter(); movieDSMovieTableAdapter.Fill(movieDS.Movie); CollectionViewSource movieViewSource = ((CollectionViewSource)(this.FindResource("movieViewSource"))); ObservableCollection<MovieDS> moviet= new ObservableCollection<MovieDS>(), INotifyCollectionChanged; ICollectionView view = CollectionViewSource.GetDefaultView(titleComboBox.Items); view.Filter = null; view.Filter = new Predicate<object>(isSearchedTitle); } catch(Exception ex) { MessageBox.Show(ex.Message); } } public bool isSearchedTitle(object item) { MovieData m = item as MovieData; if (item != null) { string textFilter = txtssearch.Text; if(textFilter.Trim().Length == 0) return true; if(m.Title.ToLower().Contains(textFilter.ToLower())) return true; } return false; }
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:movie" xmlns:OleDb="clr-namespace:System.Data.OleDb;assembly=System.Data" xmlns:MovieDSTableAdapters="clr-namespace:movie.MovieDSTableAdapters" x:Class="movie.MainWindow" mc:Ignorable="d" Title="Movies for You" Width="647.4" Loaded="Window_Loaded" Height="459.7"><Window.Resources><local:MovieDS x:Key="movieDS"/><CollectionViewSource x:Key="movieViewSource" Source="{Binding Movie, Source={StaticResource movieDS}}"/></Window.Resources><Window.Background><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="Gray" Offset="0"/><GradientStop Color="White" Offset="1"/></LinearGradientBrush></Window.Background><Grid DataContext="{StaticResource movieViewSource}" Margin="0,0,-0.4,2.8"><TabControl x:Name="tabControl" HorizontalAlignment="Left" Margin="0,0,-2.2,-10.4" VerticalAlignment="Top" Width="645" Height="440"><TabItem Header="Movie Database" Height="22" Margin="-2.2,-2,-1.8,0" VerticalAlignment="Top"><TabItem.ContextMenu><ContextMenu/></TabItem.ContextMenu><Grid Background="#FFBDB9B9" Margin="-2,-20,-4.2,-5" VerticalAlignment="Top" Height="435"><TextBox x:Name="txtUserName" HorizontalAlignment="Left" Margin="209,16,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/><TextBox x:Name="txtpassword" HorizontalAlignment="Left" Margin="419,16,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/><Label x:Name="label8" Content="Username:" HorizontalAlignment="Right" Margin="0,13,431,0" VerticalAlignment="Top" Width="80" HorizontalContentAlignment="Right" FontFamily="Stencil"/><Label x:Name="label9" Content="Password:" HorizontalAlignment="Right" Margin="0,14,221,0" VerticalAlignment="Top" Width="75" HorizontalContentAlignment="Right" FontFamily="Stencil"/><Button x:Name="button" Content="Login" HorizontalAlignment="Left" Margin="549,16,0,0" VerticalAlignment="Top" Width="75" Click="button_Click" FontFamily="Showcard Gothic"/><Button x:Name="btnMakeChanges" Content="Update" HorizontalAlignment="Left" Margin="24,353,0,0" VerticalAlignment="Top" Width="215" IsEnabled="False" Click="btnMakeChanges_Click" FontFamily="Showcard Gothic"/><Button x:Name="btnAddPicture" Content="Add Picture" HorizontalAlignment="Left" Margin="24,273,0,0" VerticalAlignment="Top" Width="215" IsEnabled="False" Click="btnAddPicture_Click" FontFamily="Showcard Gothic"/><Button x:Name="btnDelete" Content="Delete" HorizontalAlignment="Left" Margin="24,313,0,0" VerticalAlignment="Top" Width="215" IsEnabled="False" Click="btnDelete_Click" FontFamily="Showcard Gothic"/><Grid x:Name="grid1" HorizontalAlignment="Left" Margin="12,90,0,0" VerticalAlignment="Top"><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/></Grid.RowDefinitions></Grid><Grid x:Name="grid3" HorizontalAlignment="Left" Margin="265,57,0,0" VerticalAlignment="Top"><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/></Grid.RowDefinitions></Grid><Image x:Name="picturePathImage" HorizontalAlignment="Right" Source="{Binding PicturePath}" VerticalAlignment="Center" Margin="0,98,40,227" RenderTransformOrigin="0.5,0.5" Width="101" Height="110"/><Button x:Name="BtnInsert" Content="Insert" HorizontalAlignment="Left" Margin="24,393,0,0" VerticalAlignment="Top" Width="215" Click="BtnInsert_Click" FontFamily="Showcard Gothic" IsEnabled="False"/><Grid x:Name="grid6" HorizontalAlignment="Left" Margin="282,59,0,0" VerticalAlignment="Top"><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition/><RowDefinition Height="Auto"/></Grid.RowDefinitions><Label Content="ID:" Grid.Column="0" HorizontalAlignment="Left" Margin="3" Grid.Row="0" VerticalAlignment="Center" Visibility="Hidden"/><TextBox x:Name="iDTextBox" Grid.Column="1" HorizontalAlignment="Left" Height="23" Margin="3" Grid.Row="0" Text="{Binding ID, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="120" Loaded="iDTextBox_Loaded" Visibility="Hidden"/><Label x:Name="lbltitle" Content="Title:" Grid.Column="0" HorizontalAlignment="Right" Margin="3" Grid.Row="1" VerticalAlignment="Center" FontFamily="Stencil"/><TextBox x:Name="titleTextBox" Grid.Column="1" Margin="0,6,3.4,6.4" Grid.Row="1" Text="{Binding Title, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" IsEnabled="False" HorizontalAlignment="Right" Width="120" TabIndex="0"/><Label x:Name="lblgen" Content="Genre:" Grid.Column="0" HorizontalAlignment="Right" Margin="3" Grid.Row="2" VerticalAlignment="Center" FontFamily="Stencil"/><TextBox x:Name="genreTextBox" Grid.Column="1" HorizontalAlignment="Left" Margin="3" Grid.Row="2" Text="{Binding Genre, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="120" IsEnabled="False" TabIndex="1"/><Label Content="Picture Path:" Grid.Column="0" HorizontalAlignment="Right" Margin="3" Grid.Row="6" VerticalAlignment="Center" FontFamily="Stencil"/><TextBox x:Name="picturePathTextBox" Grid.Column="1" HorizontalAlignment="Left" Margin="2.6,6,-103.6,3.4" Grid.Row="6" Text="{Binding PicturePath, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="227" IsEnabled="False" Height="21"/><Label Content="Description:" Grid.Column="0" HorizontalAlignment="Right" Margin="3" Grid.Row="7" VerticalAlignment="Center" FontFamily="Stencil"/><TextBox x:Name="descriptionTextBox" Grid.Column="1" Margin="2.6,6.6,-106.6,-111.2" Grid.Row="7" Text="{Binding Description, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Height="135" TextWrapping="Wrap" IsEnabled="False" ClipToBounds="True" AutoWordSelection="True" Width="230" TabIndex="6"/><Label Content="Rating:" Grid.Column="0" HorizontalAlignment="Right" Margin="3" Grid.Row="5" VerticalAlignment="Center" FontFamily="Stencil"/><TextBox x:Name="ratingTextBox" Grid.Column="1" HorizontalAlignment="Left" Margin="3" Grid.Row="5" Text="{Binding Rating, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="120" IsEnabled="False" TabIndex="5"/><Label Content="Release Date:" Grid.Column="0" HorizontalAlignment="Right" Margin="3" Grid.Row="3" VerticalAlignment="Center" FontFamily="Stencil"/><DatePicker x:Name="releaseDateDatePicker" Grid.Column="1" HorizontalAlignment="Left" Margin="2.6,3.2,0,3.2" Grid.Row="3" SelectedDate="{Binding ReleaseDate, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" IsEnabled="False" Width="120" TabIndex="2"/><Label Content="Sold:" Grid.Column="0" HorizontalAlignment="Right" Margin="3" Grid.Row="4" VerticalAlignment="Center" FontFamily="Stencil"/><TextBox x:Name="soldTextBox" Grid.Column="1" HorizontalAlignment="Left" Margin="3" Grid.Row="4" Text="{Binding Sold, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="120" IsEnabled="False" TabIndex="4" TextChanged="soldTextBox_TextChanged"><TextBox.BindingGroup><BindingGroup><BindingGroup.ValidationRules><DataErrorValidationRule/></BindingGroup.ValidationRules></BindingGroup></TextBox.BindingGroup></TextBox></Grid><Button x:Name="btnaddmovie" Content="Clear" HorizontalAlignment="Left" Margin="24,233,0,0" VerticalAlignment="Top" Width="215" FontFamily="Showcard Gothic" Click="btnaddmovie_Click"/><Grid x:Name="grid2" HorizontalAlignment="Left" Margin="2,83,0,0" VerticalAlignment="Top" Width="237"><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/></Grid.RowDefinitions><Label Content="Title:" Grid.Column="0" HorizontalAlignment="Left" Margin="3" Grid.Row="0" VerticalAlignment="Center" FontFamily="Showcard Gothic"/><ComboBox x:Name="titleComboBox" Grid.Column="1" DisplayMemberPath="Title" Height="25" ItemsSource="{Binding Mode=OneWay}" Margin="3,0,-132.6,7" Grid.Row="0" VerticalAlignment="Center" SelectionChanged="titleComboBox_SelectionChanged_1"><ComboBox.ItemsPanel><ItemsPanelTemplate><VirtualizingStackPanel/></ItemsPanelTemplate></ComboBox.ItemsPanel></ComboBox></Grid><Label x:Name="label" Content="Search:" HorizontalAlignment="Left" Margin="-1,43,0,0" VerticalAlignment="Top" Width="60" FontFamily="Showcard Gothic"/><TextBox x:Name="txtssearch" HorizontalAlignment="Left" Height="20" Margin="59,48,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="130"/><Button x:Name="btnsearch" Content="Search" HorizontalAlignment="Left" Margin="199,48,0,0" VerticalAlignment="Top" Width="75" Click="btnsearch_Click"/></Grid></TabItem></TabControl><Grid x:Name="grid5" HorizontalAlignment="Left" Margin="297,68,0,0" VerticalAlignment="Top"><Grid.ColumnDefinitions><ColumnDefinition Width="22.2"/><ColumnDefinition Width="8.2"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/></Grid.RowDefinitions></Grid></Grid></Window>