我用datagrid嵌套结合主从表的方法设计一个新闻显示系统,
格式如下:新闻类别1
----------------
新闻标题.....
新闻标题.....
新闻标题.....
新闻标题.....新闻类别2
----------------
新闻标题.....
新闻标题.....
新闻标题.....
新闻标题.....现在碰到一个问题是,如果我不想显示所有类别,只想有选择的显示几个类别的新闻(所以我在type表中设置了aaa字段,如果aaa=1就显示,否则不显示),下面的第一行代码,如果不加where那就是所有类别均选取,程序正常,可按格式显示出所有类别新闻,但我现在只想显示aaa=1的新闻类别,,如果在where中加了aaa=1,则出现“不能启用此约束,因为不是所有的值都具有相应的父值。 ”的错误。这个我也知道原因,但如何修改这个程序才能实现我的要求呢???希望大牛指点~~~~~~万分感谢!!!!!Dim strSql As String = "Select * from type where aaa=1"     <-------
Dim objAdapter As New OleDbDataAdapter(strSql, objConn)
Dim objDs As New DataSet
objAdapter.Fill(objDs, "type")Dim strSql1 As String = "Select * from news "
Dim objAdapter1 As New OleDbDataAdapter(strSql1, objConn)
objAdapter1.Fill(objDs, "news")
objConn.Close()Dim Parent As DataColumn = objDs.Tables("type").Columns("typeid")
Dim Child As DataColumn = objDs.Tables("news").Columns("typeid")
objDs.Relations.Add("RelationName", Parent, Child)
grid.DataSource = objDs.Tables("type").DefaultView
grid.DataBind()

解决方案 »

  1.   

    Dim Child As DataColumn = objDs.Tables("news").Columns("childID")不能用typeid
      

  2.   

    不能启用此约束,因为不是所有的值都具有相应的父值
    ----------------
    我是做WINFORM最常见的问题把约束去掉不就得了吗?
      

  3.   

    Dim Child As DataColumn = objDs.Tables("news").Columns("childID")不能用typeid
    ---------
    什么意思呀???你说的childID是什么呀?要怎么做?请说的详细点,,谢谢了!!!!!!
      

  4.   

    可以用嵌套DataGrid的方法解决。
      

  5.   

    http://singlepine.cnblogs.com/category/41822.html
      

  6.   

    请问怎么去掉DATASET的约束啊??????????
      

  7.   

    用这种datagrid嵌套主从表设计是不是效率不高啊??因为每次都要"Select * from news "选取所有记录,但页面上只需要显示10条左右,,
    显示下面这种格式,还有什么好办法呢???新闻类别1
    ----------------
    新闻标题.....
    新闻标题.....
    新闻标题.....
    新闻标题.....新闻类别2
    ----------------
    新闻标题.....
    新闻标题.....
    新闻标题.....
    新闻标题.....
      

  8.   

    http://singlepine.cnblogs.com/articles/312975.html
      

  9.   

    Control Study -> 主表和子表数据同时在绑定控件显示(示例代码下载):
    http://blog.csdn.net/chengking/archive/2005/11/27/538128.aspx