繁体   English   中英

在ASP.NET C#应用程序的GridView中一对一关系

[英]Relationship one to one in GridView in asp.net C# application

我的项目中有以下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。 它应该是一对一的关系。

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

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

您应该在数据库中创建一个存储过程,该存储过程将在表“ Zawody”中的一个“ Zawod”中获取所需的所有列,其中idz = id。 之后,您可以使用c#调用此存储过程。
在代码中,您应该有一个对象,该对象代表数据库中的实体。 您可以从数据库中获取信息,然后将其解析为一个对象,然后将这些对象的列表绑定到gridview,然后可以从另一个表中获取所需的列。
如果要在没有存储过程的情况下执行此操作,则只需手动编写查询的文本,然后将其作为SQLCommand传递即可,无论如何,延续是相同的,因此最好使用存储过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM