我有一个非常标准的Gridview
,自动生成编辑和删除按钮。
它绑定到tableadapter
,链接到我的RelationshipTypes
表。
dbo.RelationshipTypes:
ID, Name, OriginConfigTypeID, DestinationConfigTypeID
我希望使用一个标签,使用ConfigTypes
和OriginConfigTypeID
作为链接从DestinationTypeID
表中提取名称。
dbo.ConfigTypes:
ID, Name
我的问题是,我无法使用数据集中的Inner Join
自动生成编辑和删除按钮。或者我可以吗?
这是我的代码:
<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>
<asp:DropDownList Enabled=true ID="DropDownList2" runat="server" DataSourceID="dsCIType1"
DataTextField="Name" DataValueField="ID" SelectedValue='<%# Bind("OriginCIType_ID") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<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>
所以我尝试创建自己的编辑和删除按钮,但一直收到错误
“找不到更新方法”
或类似的东西。我是否必须在代码隐藏中手动编写删除和更新方法?
答案 0 :(得分:0)
您必须告诉ObjectDataSource要使用的对象或SQLDataSource要使用的存储过程。使用“UpdateMethod”属性。
答案 1 :(得分:0)
您可以使用代码隐藏技术来提及可以处理更新和删除功能的方法。这是执行此操作的标准方法。您可以使用Sqldatasorce来描述源。您可以提及所有用于内连接的表,也可以使用sql查询。