Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在DataGridView中显示父级的所有子记录_C#_Sql_.net_Datagridview_Ado.net - Fatal编程技术网

C# 在DataGridView中显示父级的所有子记录

C# 在DataGridView中显示父级的所有子记录,c#,sql,.net,datagridview,ado.net,C#,Sql,.net,Datagridview,Ado.net,我对.NET还不熟悉,我不太了解它是如何工作的。我有这个项目我必须做,我被要求显示所有的父记录,当我选择一个父记录时,应该显示它的所有子记录。到目前为止,我使用DataGridView显示了所有的父记录 private void display_btn_Click(object sender, EventArgs e) { dg.DataSource = data_set.Tables[0]; } 下面的代码可以工作,但它显示了来自子级的

我对.NET还不熟悉,我不太了解它是如何工作的。我有这个项目我必须做,我被要求显示所有的父记录,当我选择一个父记录时,应该显示它的所有子记录。到目前为止,我使用DataGridView显示了所有的父记录

private void display_btn_Click(object sender, EventArgs e)
        {
            dg.DataSource = data_set.Tables[0];
        }
下面的代码可以工作,但它显示了来自子级的所有记录。我知道我应该以某种方式比较来自父级的主键和来自子级的外键,并从子级仅显示那些与来自父级的PK相等的主键,但我不知道如何编写它

private void dg_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

            dg2.DataSource = data_set.Tables[1];

        }
用于创建关系的代码

 DataColumn parentColumn = data_set.Tables["Airline"].Columns["airline_id"];
                DataColumn childColumn = data_set.Tables["Plane"].Columns["airline_id"];

                rel_pln_air = new DataRelation("fk_pln_air", parentColumn, childColumn);
                data_set.Relations.Add(rel_pln_air);
绑定代码:

parentBindingSource.DataSource = data_set;
            parentBindingSource.DataMember = "Airline";
            childBindingSource.DataSource = parentBindingSource;
            childBindingSource.DataMember = "Plane";

必须定义数据集中表[1]和表[2]之间的mster详细信息关系。然后必须将子DataGridView的数据源设置为该关系

这是你问题的详细解释

更新


航空公司id不能与飞机id相关。我想你的飞机表中有航空公司id,你必须参考它。

链接我在评论中所述的同一列 使用GetChildRows遍历关系


我改变了问题,我试图定义一个关系,但我不明白为什么它不起作用。我查了数据库,所有的子项都引用到了父项记录。你看过这篇文章吗?是的,我看过。我已经成功地创建了这两个表之间的关系。但是现在我不明白绑定的部分..我已经添加了绑定代码,它可以编译,但我仍然不明白如何使用这些东西来显示父记录的所有子记录你确定你在做你想做的事情吗?对我来说,在航空公司id和飞机id之间建立关系似乎很奇怪。谢谢,我错过了。到底是什么帮助了我这个关系,我正在努力做什么?谁能帮我一下吗。我不想要代码,只是一些关于如何做到这一点的提示