【发布时间】:2010-09-20 13:36:56
【问题描述】:
我有一个非常标准的Gridview,带有自动生成的编辑和删除按钮。
它绑定到一个链接到我的RelationshipTypes 表的tableadapter。
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>
所以我确实尝试创建自己的编辑和删除按钮,但一直收到错误
“找不到更新方法”
或类似的东西。我是否必须在我的代码隐藏中手动编写删除和更新方法?
【问题讨论】:
-
要“自动生成”编辑和删除按钮,gridview 的关联数据源必须在其标记中或通过后面的代码定义更新查询和删除查询。
Updates 和Deletes 将需要一个主键,通常由 GridviewsDatakeyNames属性定义,最终将与任何绑定字段一起传递给它们各自的查询参数。
标签: asp.net gridview datatable