使用WPF在datagrid中搜索框 [英] searchbox in datagrid using WPF
本文介绍了使用WPF在datagrid中搜索框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好朋友,
这里我想让searchbox进入我的数据网格视图,而在文本框中键入字母应该显示数据网格中存在的用户详细信息。
当我输入一个搜索框(文本框)时只输入它应该过滤datagrid中的值。
朋友我已经这样做了但得到了一个错误:dv.table = ds.table [0]的空例外;
此代码在c#winform中工作正常但在Wpf中没有。
请帮帮我。
public DataView dv
{
get;
设定;
}
OleDbCommand cmdd = new OleDbCommand(SELECT addimage,addname,addnumber1 FROM addcontact,conn);
OleDbDataAdapter da = new OleDbDataAdapter(cmdd);
DataTable dt = new DataTable();
da.Fill(ds);
dv.Table = ds.Tables [0];
dataGrid1.DataContext = dv;
dv.RowFilter =addname like'%+ SearchBox.Text +%';
dataGrid1.DataContext = dv;
解决方案
首先创建你的数据视图
DataView view = dt.DefaultView;
然后为数据视图分配值
是的我自己做了.. ...两个,我可以搜索姓名和号码:)
DataTable dt = < span class =code-keyword> 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] +
);
if (r.IsMatch(SearchBox.Text))
{
view.RowFilter = addname like'% + SearchBox.Text + %'跨度>;
dataGrid1.ItemsSource = view;
}
else
{
view.RowFilter = addnumber1 like'% + SearchBox.Text + %'跨度>;
dataGrid1.ItemsSource = view;
}
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 .
friends i have done this but getting an error : Null exception at dv.table=ds.table[0];
this code works fine in c# winform but not in Wpf .
please help me out.
public DataView dv { get; set; } OleDbCommand cmdd = new OleDbCommand("SELECT addimage,addname,addnumber1 FROM addcontact", conn); OleDbDataAdapter da = new OleDbDataAdapter(cmdd); DataTable dt = new DataTable(); da.Fill(ds); dv.Table = ds.Tables[0]; dataGrid1.DataContext = dv; dv.RowFilter = "addname like '%" + SearchBox.Text + "%'"; dataGrid1.DataContext = dv;解决方案first create your dataView like
DataView view = dt.DefaultView;
then assigne value to dataview
yes i did myself ..... both , with name and number i can search :)
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 ]+
"); if(r.IsMatch(SearchBox.Text)) { view.RowFilter = "addname like '%" + SearchBox.Text + "%'"; dataGrid1.ItemsSource = view; } else { view.RowFilter = "addnumber1 like '%" + SearchBox.Text + "%'"; dataGrid1.ItemsSource = view; }
这篇关于使用WPF在datagrid中搜索框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文