如何将GridView中的标签绑定到另一个表?

问题描述:

我有一个非常标准Gridview,与编辑和删除按钮自动生成。 这势必会链接到我的RelationshipTypestableadapter如何将GridView中的标签绑定到另一个表?

dbo.RelationshipTypes: 
ID, Name, OriginConfigTypeID, DestinationConfigTypeID 

我想用一个标签,将其拉离ConfigTypes表的名称,使用OriginConfigTypeIDDestinationTypeID为纽带。

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

所以我曾尝试创建自己的编辑和删除按钮,但保留收到错误

“找不到更新方法”

或类似的东西。我是否需要手动编写代码中的删除和更新方法?

你必须告诉要么ObjectDataSource控件使用什么物体或什么存储过程来使用SqlDataSource。使用“UpdateMethod”属性。

您可以使用后面的代码技术来提什么是可以处理更新和删除功能的方法。这是做这件事的标准方法。您可以使用Sqldatasorce来形容source.You可以提到其用于内部的所有表加入,也可以使用SQL查询。