2009-10-01 7 views
0

travail sur asp.net vs05.I ont deux tablesComment mettre à jour en utilisant la valeur dropdownlist

Table A  Table B 
    ID   DistrictID 
    Name  DistrictName 
    FName 
    MName 
    District 

En utilisant la table par intérim remplir un gridview

 <asp:GridView ID="GridView4" runat="server" AutoGenerateColumns="False" DataSourceID="SQL" DataKeyNames="StudentID" EmptyDataText="No information to display"> 
       <Columns> 
        <asp:BoundField DataField="StudentID" HeaderText="StudentID" SortExpression="StudentID" /> 
        <asp:BoundField DataField="StudentName" HeaderText="StudentName" /> 
        <asp:BoundField DataField="FatherName" HeaderText="FatherName" SortExpression="FatherName" /> 
        <asp:BoundField DataField="DivisionName" HeaderText="DivisionName" /> 
        <asp:CommandField ShowEditButton="True" /> 
       </Columns> 
</asp:GridView> 
     <asp:SqlDataSource ID="SQL" runat="server" ConnectionString="<%$ ConnectionStrings:JobTestConnectionString %>" 
      SelectCommand="SELECT StudentID, StudentName, FatherName FROM studentInfo" UpdateCommand="UPDATE studentInfo SET StudentID = @StudentID, StudentName = @StudentName, FatherName = @FatherName WHERE (StudentID = @StudentID)"> 
      <UpdateParameters> 
       <asp:Parameter Name="StudentID" /> 
       <asp:Parameter Name="StudentName" /> 
       <asp:Parameter Name="FatherName" /> 
      </UpdateParameters> 
     </asp:SqlDataSource> 

Maintenant, je mis un DropDownList sur ce grid .Je place ceci sur templetField. Je veux remplir ce ddl par Table-B et veux aussi que la commande edit fonctionne correctement.

<asp:GridView ID="GridView4" runat="server" AutoGenerateColumns="False" DataSourceID="SQL" EmptyDataText="No information to display"> 
      <Columns> 
       <asp:BoundField DataField="StudentID" HeaderText="StudentID" SortExpression="StudentID" /> 
       <asp:BoundField DataField="StudentName" HeaderText="StudentName" SortExpression="StudentName" /> 
       <asp:BoundField DataField="FatherName" HeaderText="FatherName" SortExpression="FatherName" /> 
       <asp:TemplateField HeaderText="DivisionName" SortExpression="DivisionName"> 
        <EditItemTemplate> 
         <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlD" DataTextField="StudentName" 
          DataValueField="StudentName" SelectedValue='<%# Bind("DivisionName", "{0}") %>'> 
         </asp:DropDownList><asp:SqlDataSource ID="SqlD" runat="server" ConnectionString="<%$ ConnectionStrings:JobTestConnectionString %>" 
          SelectCommand="SELECT [StudentName] FROM [Division]"></asp:SqlDataSource> 
        </EditItemTemplate> 
        <ItemTemplate> 
         <asp:Label ID="Label1" runat="server" Text='<%# Bind("DivisionName") %>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:CommandField ShowEditButton="True" /> 
      </Columns> 
     </asp:GridView> 

Exécuter ce navigateur snipt afficher l'erreur ci-dessous:

« DropDownList2 » a une SelectedValue qui est invalide parce qu'elle n'existe pas dans la liste des éléments. Nom du paramètre: Valeur

Maintenant, ma question est de savoir comment régler ddl par table b.Après remplirai je veux mettre à jour le tableau-A en utilisant le champ de commande de GridView.

plz étiquette correcte si nécessaire

Répondre

2

Eh bien votre liste déroulante est remplie de StudentNames, pourtant vous lier la valeur sélectionnée à un DivisionName.

Questions connexes