多表级联中的问题

freebatnet 2003-05-23 08:47:37
我有三个表级联.如以下代码:
SqlDataAdapter1.Fill(DataSet11, "Orders")
SqlDataAdapter2.Fill(DataSet11, "OrderGoods")
SqlDataAdapter3.Fill(DataSet11, "OrderDetail")

DataSet11.Relations.Add("Okey1", DataSet11.Tables("Orders").Columns("OrderID"), DataSet11.Tables("OrderGoods").Columns("OrderID"))
DataSet11.Relations.Add("Okey2", DataSet11.Tables("OrderGoods").Columns("OrderGoodsID"), DataSet11.Tables("OrderDetail").Columns("OrderGoodsID"))

DataGrid3.DataSource = DataSet11.Relations("Okey1").ChildTable.ChildRelations("Okey2").ChildTable
DataSet11.Tables("OrderDetail").DefaultView.AllowNew = False

Datagrid3中显示的不是OrderGoods表的子集.(不知表达清楚没有)而是一次把所有的数据显示出来.但是我用以下绑定确可以:
DataGrid3.DataSource = DataSet11
DataGrid3.DataMember = "orders.Okey1.Okey2"
这样我的
DataSet11.Tables("OrderDetail").DefaultView.AllowNew = False
就没用了.如何解决?
...全文
33 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
freebatnet 2003-05-27
  • 打赏
  • 举报
回复
不行.这样在DataGrid中还是能增加.只是在保存的时候保存不了.
我要绑定一个DataView还有一个原因就是DataGrid可以重排序.排序后DataGrid中
的Row和Table中的不一样.这样删除操作较难处理。不知怎么子表就不能绑定DataView。

还有一个现象。在数据库中(MS SQLsever),表设定关联后(强制同步更新和删除),
就不能保存数据(子表不能保存)。我在DataSet中的关系中设定DeleteRule,UpdateRule
为Cashe(可能拼错了)也不行。这样我只能通过触发器来实现业务的完整性。但这样工作量
太大了,也容易出错。有没办法。
谢谢!帮帮忙!因为这,我几天没开工了。
Montaque 2003-05-26
  • 打赏
  • 举报
回复
改为这样试验一下。
dim dv as New DataView(your data table)
dv.AddowNew=false '显式定一个dv
pythonpowered 2003-05-23
  • 打赏
  • 举报
回复
study
xwy2258588 2003-05-23
  • 打赏
  • 举报
回复
up
关注

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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