Wie binden Sie ein label auf der Innenseite eine gridview in einer anderen Tabelle?

Ich habe eine sehr standard Gridview mit Schaltflächen Bearbeiten und Löschen automatisch generiert.
Es ist gebunden an einen tableadapter verbunden mit meine RelationshipTypes Tabelle.

dbo.RelationshipTypes:
ID, Name, OriginConfigTypeID, DestinationConfigTypeID

Ich möchte ein label, das wird, ziehen Sie den Namen aus der ConfigTypes Tabelle, mit OriginConfigTypeID und DestinationTypeID als link.

dbo.ConfigTypes:
ID, Name

Mein problem ist, ich kann nicht automatisch generieren, Bearbeiten und Löschen-buttons mit einem Inner Join in meinem dataset. Oder kann ich das?

Hier ist mein code:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
        AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" CssClass="TableList"
        DataKeyNames="ID" DataSourceID="dsRelationShipTypes1">
        <Columns>
            <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True"
                SortExpression="ID" Visible=False/>
            <asp:TemplateField HeaderText="Origin" SortExpression="OriginCIType_ID">
                <EditItemTemplate>
                    &nbsp;<asp:DropDownList Enabled=true ID="DropDownList2" runat="server" DataSourceID="dsCIType1"
                        DataTextField="Name" DataValueField="ID" SelectedValue='<%# Bind("OriginCIType_ID") %>'>
                    </asp:DropDownList>
                </EditItemTemplate>
                <ItemTemplate>
                    &nbsp;
                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("OriginCIType_ID") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Name" SortExpression="Name">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label3" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Destination" SortExpression="DestinationCIType_ID">
                <EditItemTemplate>
                    <asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="dsCIType1" DataTextField="Name"
                        DataValueField="ID" SelectedValue='<%# Bind("DestinationCIType_ID") %>'>
                    </asp:DropDownList>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("DestinationCIType_ID") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
</asp:GridView>

So, ich habe versucht, um meine eigene Schaltflächen Bearbeiten und löschen, behielt aber den Empfang der Fehler

"kann nicht finden die update-Methode"

oder etwas ähnliches. Muss ich manuell code der delete-und update-Methoden in meinem code-behind?

  • Auf "automatisch generieren" Bearbeiten " und "löschen" Schaltfläche in der gridview verknüpften Datenquelle müssen Sie eine Update-Abfrage und eine Abfrage Löschen, die in es definiert das markup, oder über code-behind. Updates und Deletes benötigt einen Primärschlüssel, in der Regel definiert durch die Gridviews DatakeyNames Eigenschaft, die am Ende an die jeweiligen Abfrage-Parameter, die zusammen mit gebundenen Feldern.
InformationsquelleAutor Kolten | 2008-11-03
Schreibe einen Kommentar