2017-10-13 1 views
0

Je suis assez nouveau Je voulais savoir comment remplir une liste déroulante sur la sélection d'une colonne de la grille. J'ai une vue de la grille et il a des données puis j'ai une liste déroulante Je veux que l'utilisateur puisse cliquer sur l'élément dans la vue de la grille et charger son ID dans la liste déroulante. Cela leur facilitera la tâche. S'il vous plaît laissez-moi savoir si vous avez une idée de comment le faire. Merci.Comment remplir la liste déroulante en fonction de la colonne sélectionnée d'un Gridview ASp.Net?

<asp:GridView ID="gvdata" runat="server"></asp:GridView> 

Ceci est le Gridview.

Dataseet ds = new dataset(); gvdata.datasource = ds; gvdata.DataBind(); 

Voici comment je le peuple.

<asp:DropDownList ID="dlItemID" Width="100px" runat="server"></asp:DropDownList></td> 

Ceci est la liste déroulante.

DAL DAL= new DAL(Context, "spgetItems"); 
    DataSet ds = new DataSet();dlItemID.DataSource = ds; 
    DlItemID.DataTextField = "ItemID" 
    DlItemId.DataValueField = "ItemID" 
    DlItemID.DataBind(); 

Voici comment je lier les données.

+0

Pouvez-vous fournir un exemple de code de ce que vous avez jusqu'à présent? – Marisa

+0

S'il vous plaît lisez-le [MCVE] – AsifAli72090

+0

Là, j'ai ajouté tout ce que je n'ai pas de problème avec elle je veux juste savoir la façon de le faire pas ce que j'ai. –

Répondre

0

C'était calme facile. Je ne sais pas pourquoi personne ne l'a eu mais c'est ici.

 <asp:GridView ID="gvdata" EnablePersistedSelection="True" DataKeyNames="ItemID" 
     runat="server" 
     HorizontalAlign="Center" AutoGenerateColumns="False" OnSelectedIndexChanged="gvdata_SelectedIndexChanged" 
     CellPadding="4" ForeColor="#333333" GridLines="None" > 
      <Columns> 
          <asp:CommandField ShowSelectButton="True" /> 
       </Columns> 
    </asp:GridView> 
     <asp:Label ID="lable" BackColor="White" runat="server" Text=""></asp:Label> 

et maintenant C#

protected void gvdata_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    lable.Text = ""; 
    lable.ForeColor = Color.White ; 
    lable.Text = gvData.SelectedRow.Cells[0].Text; 
    dlItemID.ClearSelection(); 
    dlItemID.Items.FindByValue(Lable.Text).Selected = true; 

} 

je mets simplement la valeur de COMAND sélectionnée dans un lable puis utiliser le findbyValue dans la dropdownlist par la valeur de la lable et sélectionnez-le très simple.oh plus de chose lable forcolor est défini sur blanc parce que cela correspond à la couleur de fond de l'étiquette et un peu comme invisible mais toujours là, plutôt que toutes les fonctionnalités cachées de la propriété Css.