2

我有一个非常标准的Gridview,自动生成的编辑和删除按钮。它绑定到tableadapter链接到我的RelationshipTypes表的一个。

dbo.RelationshipTypes:
ID, Name, OriginConfigTypeID, DestinationConfigTypeID

我希望使用一个标签来从ConfigTypes表中提取名称,使用OriginConfigTypeIDandDestinationTypeID作为链接。

dbo.ConfigTypes:
ID, Name

我的问题是,我无法使用Inner Join数据集中的 an 自动生成编辑和删除按钮。或者我可以吗?

这是我的代码:

<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>

所以我确实尝试创建自己的编辑和删除按钮,但一直收到错误

“找不到更新方法”

或类似的东西。我是否必须在我的代码隐藏中手动编写删除和更新方法?

4

2 回答 2

0

您必须告诉 ObjectDataSource 要使用什么对象或 SQLDataSource 要使用什么存储过程。使用“更新方法”属性。

于 2008-11-04T16:30:16.947 回答
0

您可以使用技术背后的代码来提及可以处理更新和删除功能的方法。这是执行此操作的标准方法。您可以使用Sqldatasorce来描述来源。您可以提及所有用于内连接的表,也可以使用sql查询。

于 2014-11-19T15:11:57.897 回答