说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

奇怪的情况,急!

编辑:说三道四文库 发布时间:2018-05-27 04:17
HTML文档下载 WORD文档下载 PDF文档下载
在DataSet ds中,有两个表,main和sub,其中sub中的一个主键joint引用了main 的主键,对应关系是main的一条记录对应sub中的多条,现在我要从sub中找出对应的行,用下面的语句为什么不行:
DataView dv = new DataView();
  dv.Table = ds.Tables["sub"];
  dv.RowFilter = "joint="+ds.Tables["main"].Rows[0]["joint"];
dv的结果还是整个sub表,而起我写成dv.RowFilter = "joint='aaaa'"也能出来整个表,可表中并没有一行的joint=aaaa.
请大家帮忙啊,谢谢
而且我也察看过,在sub表中,确实存在joint不同的行,没有理由过滤不掉啊

我以前碰到此种情况时是设置DATAGRID的DATASOURCE为dataset.tables,
把dv设置为ds.tables["sub"].defaultview试试
我试过了,不行啊
我使用如下语句处理可用:
this.dataSetDetail.Tables[this.dataSetDetail.Tables[0].TableName].DefaultView.RowFilter  = strFilterSentence ;
this.dataGrid1.DataSource  = this.dataSetDetail.Tables[0].DefaultView
要不先过滤后取数据。
"joint='"+ds.Tables["main"].Rows[0]["joint"]+"'";
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘