如何使用wpf c使Searchbox成为Datagrid# [英] how to make Searchbox to Datagrid using wpf c#
本文介绍了如何使用wpf c使Searchbox成为Datagrid#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好朋友,
这里我想让searchbox进入我的数据网格视图,而在文本框中键入字母应该显示数据网格中存在的用户详细信息。
当我输入一个搜索框(文本框)时只输入它应该过滤datagrid中的值。
给我一个示例
请建议我。
提前谢谢。
这里是我的数据网格代码:
hello friends,
here i want to make searchbox to my datagrid view, while typing the letters in textbox should display the user details are existing in the datagrid.
when i will type in a searchbox(textbox) by typing only it should filter the values in datagrid .
give me a sample example
please suggest me .
thank you in advance.
here is my data grid code:
<DataGrid RowHeight="50" CanUserResizeRows="False" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Visible"
BorderBrush="#FF274196" ColumnWidth="100" BorderThickness="6" Height="391"
Name="dataGrid1" VerticalAlignment="Center" HorizontalAlignment="Center" Width="584" ItemsSource="{Binding Path=LoadDataBinding}" AutoGenerateColumns="False" FontSize="16" Opacity="1" Visibility="Visible" FontStyle="Italic" FontWeight="Normal" FontStretch="Normal" removed="White" Margin="173,112,45,102" Grid.Column="1">
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<ToggleButton x:Name="RowHeaderToggleButton"
Cursor="Hand" />
</DataTemplate>
</DataGrid.RowHeaderTemplate>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Photo">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image HorizontalAlignment="Center" VerticalAlignment="Center" Height="50" Width="50" Source="{Binding Path=addimage}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Binding="{Binding Path=addname}" Header="Name" IsReadOnly="True">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Path=addnumber1}" Header="Contactno" IsReadOnly="True">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTemplateColumn Header="View details">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="Button_Click" Height="25" Width="50" Background="#FF274196" Foreground="White" FontSize="14" Cursor="Hand" ToolTip="view full details" >view</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Delete contact" Width="150">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="Button_Click_1" Height="25" Width="50" Background="#FF274196" Foreground="White" FontSize="14" Cursor="Hand" ToolTip="Delete Record/Contact" >Delete</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Height" Value="35" />
<Setter Property="SeparatorBrush" Value="DarkRed" />
<Setter Property="FontWeight" Value="Black" />
<Setter Property="Foreground" Value="White" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
<Grid>
<Border x:Name="columnHeaderBorder"
BorderThickness="1"
Padding="3,0,3,0">
<Border.BorderBrush>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Offset="0" Color="#A5A5A5" />
<GradientStop Offset="1" Color="#4B4B4B" />
</LinearGradientBrush>
</Border.BorderBrush>
<Border.Background>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Offset="0" Color="#FF274196" />
<GradientStop Offset="1" Color="#FF274196" />
</LinearGradientBrush>
</Border.Background>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.ColumnHeaderStyle>
</DataGrid>
推荐答案
请尝试以下方式寻求帮助 -
可重用的WPF自动完成文本框 [ ^ ]
WPF自动完成控制 [ ^ ]
http://wpfautocomplete.codeplex.com/ [ ^ ]
Try the following for help -
A Reusable WPF Autocomplete TextBox[^]
WPF Auto-complete Control[^]
http://wpfautocomplete.codeplex.com/[^]
嗨...
过滤wpf DataGrid列 [ ^ ]
http://stackoverflow.com/questions/17099042/filter-wpf-datagrid-values-from-a-textbox [ ^ ]
谢谢你。
Hi...
Filter wpf DataGrid column[^]
http://stackoverflow.com/questions/17099042/filter-wpf-datagrid-values-from-a-textbox[^]
Thank u.
是的,我做了自己......我的名字和号码都可以搜索.... :) />
这里是逻辑:)
yes, i did myself .... both with name and number i can search .... :)
here is the logic :)
DataTable dt = new DataTable();
OleDbCommand cmdd = new OleDbCommand("SELECT addimage,addname,addnumber1 FROM addcontact", conn);
OleDbDataAdapter da = new OleDbDataAdapter(cmdd);
da.Fill(ds);
view.Table = ds.Tables[0];
System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex("^[a-zA-Z ]+
这篇关于如何使用wpf c使Searchbox成为Datagrid#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文