0

我已经构建了一个组合框,它使用具有 2 个表的数据集,以便查找要显示的值,但保存不同的值。

它是从这个伟大的博客(她在沼泽中的两个中的第一个)构建的:http: //blogs.msdn.com/b/bethmassi/archive/2007/04/25/tips-on-related-data-binding -and-comboboxes.aspx

现在我还有一步要采取,希望有人能提供帮助:

就我而言,组合框正在填写“父 ID”。因此,它有助于在表中构建父子层次结构。(将表视为 3 列 - Id、Name、ParentId)因此数据集有两个表,实际上它们是同一个数据库表,由父 ID 关联。

这很好用 - 但我想再清理一下:组合框不应该在列表中显示孩子的名字。IE。它应该显示所有其他可能的选择,但它不应该让用户选择孩子作为它自己的父母。

我应该使用某种过滤器查询来引用绑定源的孩子的 ID 吗?我是否应该更改组合框的数据集中的选择语句,并可能使用参数来获取要过滤的孩子的 id?我不知道如何处理它。

如果不清楚,请告诉我谢谢!

4

1 回答 1

0

我改变了父表适配器的选择查询,并将当前子节点作为参数传递给填充。

很好用!

(添加到父选择的子句类似于: (Id <> @curId) AND (Id NOT IN (SELECT Id FROM table AS table_1 WHERE (ParentID = @curId)))

->添加了第二部分,这样他们也不能有自己的孩子作为父母。

于 2015-01-27T18:23:27.117 回答