在 C# 应用程序中的 GridView 中一对一的关系 asp.net

本文关键字:关系 asp net 一对一 GridView 应用程序 | 更新日期: 2023-09-27 18:32:39

我的项目中有以下 GridView:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="LinqDataSource1" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Width="329px">
        <Columns>
            <asp:BoundField DataField="id" HeaderText="id" ReadOnly="True" SortExpression="id" />
            <asp:BoundField DataField="imie" HeaderText="imie" ReadOnly="True" SortExpression="imie" />
            <asp:BoundField DataField="nazwisko" HeaderText="nazwisko" ReadOnly="True" SortExpression="nazwisko" />
            <asp:BoundField DataField="idz" HeaderText="idz" ReadOnly="True" SortExpression="idz" />
            <asp:BoundField DataField="idp" HeaderText="idp" ReadOnly="True" SortExpression="idp" />
            <asp:BoundField DataField="ids" HeaderText="ids" ReadOnly="True" SortExpression="ids" />
        </Columns>
    </asp:GridView>
    <asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="ProjektZaliczenieKoncowy.DBClassesDataContext" EntityTypeName="" OrderBy="id" Select="new (id, imie, nazwisko, idz, idp, ids)" TableName="pracownicies">
    </asp:LinqDataSource>
    <br />
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />

在字段"idz"中,我想显示"Zawody"表中"Zawod"列中的日期,其中 idz = id。它应该是一对一的关系。

这是我的数据库关系图:图

这可能很容易,但我找不到任何解决方案。

在 C# 应用程序中的 GridView 中一对一的关系 asp.net

你应该在你的数据库中创建一个存储过程,它为你提供你需要的所有列,其中"Zawody"表中的"Zawod",其中idz = id。之后,使用 c# 调用此存储过程。
在您的代码中,您应该具有表示数据库中实体的对象。您从数据库中获取信息,将其解析为一个对象,然后将这些对象的列表绑定到网格视图,然后您可以从另一个表中获取所需的列。
如果你想在没有存储过程的情况下执行此操作,你可以手动编写查询的文本并将其作为SQLComm传递,无论如何,延续是相同的,所以存储过程是可取的。