问一个datagrid过滤数据行的问题,谢谢!

zczc0128 2005-03-28 11:07:45
代码如下:
string OleDBConnString = @"Data Source = \Syslog.mdb;"

+"Provider=Microsoft.Jet.OLEDB.4.0;";
string SQLQuery = "SELECT * FROM SysLog ;


OleDbConnection cn = new OleDbConnection(OleDBConnString);
try
{
cn.Open();
OleDbCommand cmd = new OleDbCommand(SQLQuery,cn);

OleDbDataAdapter cnAdapter = new OleDbDataAdapter(cmd);
DataSet dataset = new DataSet();
cnAdapter.Fill(dataset,"syslog");
cnAdapter.Dispose();
cn.Close();
DataViewManager dvm = new DataViewManager(dataset);
dvm.DataViewSettings["syslog"].RowFilter = "Priority ='6'"; //Priority 是syslog表中的一个列名
dvm.DataViewSettings["syslog"].RowFilter = "Facility ='128'"; //Facility 是syslog表中的一个列名
dataGrid1.SetDataBinding(dataset,"syslog");
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}

为什么不能实现只显示priority=6和Facility=128的数据呢?
还是会显示所有数据
...全文
138 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zczc0128 2005-03-30
  • 打赏
  • 举报
回复
好的,我试试,谢谢
zczc0128 2005-03-29
  • 打赏
  • 举报
回复
dataviewsetting不是会为每个datatable创建一个dataview的么
ArLi2003 2005-03-29
  • 打赏
  • 举报
回复
试试:

dataGrid1.SetDataBinding(dataset.Tables[0].Select("Priority ='6' and Priority ='128'"), dataset.Tables[0].TableName);
zczc0128 2005-03-29
  • 打赏
  • 举报
回复
怎么我改成用dataview还是不行啊
skydaxia 2005-03-29
  • 打赏
  • 举报
回复
用dataview
xzq686 2005-03-29
  • 打赏
  • 举报
回复
dvm.DataViewSettings["syslog"].RowFilter = "Priority ='6'"; //Priority 是syslog表中的一个列名
dvm.DataViewSettings["syslog"].RowFilter = "Facility ='128'"; //Facility 是syslog表中的一个列名

你上面的第二句把第一句给的值覆盖了。
dvm.DataViewSettings["syslog"].RowFilter = "Priority ='6' or Facility ='128'";
RowFilter中的是SQL查询语言的格式。。不能用"||"
harboursong 2005-03-28
  • 打赏
  • 举报
回复
DataViewManager 是不需要的,定义一个
DataView myView;
dataGrid1.SetDataBinding(myView);
myView.RowFilter = "Priority ='6' || Facility ='128'";
dahuzizyd 2005-03-28
  • 打赏
  • 举报
回复
把dataGrid1绑定到DataView上

111,096

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧