使用WPF在datagrid中搜索框 [英] searchbox in datagrid using WPF

查看:724
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆