Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Datagrid e dropdown

  1. #1

    Datagrid e dropdown

    Sto cercando di realizzare una datagrid, e di inserire una colonna con una dropDownList associata ai dati della griglia:
    codice:
    <asp:TemplateColumn HeaderText="Status">
    	<ItemTemplate>
    		<asp:Label ID=lblNewStatus><%#DataBinder.Eval(Container.DataItem,"Status")%></asp:Label>
    		</asp:CheckBox>
    		<asp:DropDownList Runat="server" ID="DropDownStatus" SelectedIndex='<%#DataBinder.Eval(Container.DataItem,"Status")%>'>
    			<asp:ListItem Value="1" >Show in Main</asp:ListItem>
    			<asp:ListItem Value="2" >Show in News</asp:ListItem>
    			<asp:ListItem Value="3" >Hidden</asp:ListItem>
    		</asp:DropDownList>
    	</ItemTemplate>
    </asp:TemplateColumn>
    Ho fatto varie prove ma non ho trovato ancora niente :master:

    Qualche idea o consiglio?

  2. #2
    Utente di HTML.it L'avatar di Ottavio
    Registrato dal
    Jul 2000
    Messaggi
    286
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    Era un mondo adulto, si sbagliava da professionisti....
    <P.Conte>
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  3. #3
    Non era esattamente quello che mi serviva (manca l'associazione ai dati della datagrid e il riempimento), cumunque ho trovato un'altra soluzione, e la posto per i posteri :sexpulp:

    grazie comunque della risp.

    Allora,
    nel file .aspx:
    codice:
    <asp:datagrid id="DataGridNews" runat="server" AutoGenerateColumns="False" Width="100%" OnItemDataBound="DataGridNews_ItemDataBound" DataKeyField="NewsID">
    	<Columns>
    ...
    		<asp:BoundColumn DataField="Status" HeaderText="Status" Visible="False"></asp:BoundColumn>
    		<asp:TemplateColumn HeaderText="Status">
    			<ItemTemplate>
    				<asp:DropDownList Runat="server" ID="DropDownStatus"></asp:DropDownList>
    			</ItemTemplate>
    		</asp:TemplateColumn>
    	</Columns>
    ...
    </asp_datagrid>
    OnItemDataBound è un evento generato dovo il bindingi di ogni riga del datagrid. E possibile utilizarlo per modificare l'aspetto di una riga.
    La prima boundcolumn e nascosta e riporta il valore da assegnare alla dropdown, la seconda colonna contiene la dropdown.

    nel file .cx c'è il gestore dell'evento:
    codice:
    protected void DataGridNews_ItemDataBound(object sender,  DataGridItemEventArgs e)
    {
    	try
    	{
    		LoadKeyValueDropDown(DDconnection,"NEW_STATUS", ((DropDownList)e.Item.FindControl("DropDownStatus")));
    		((DropDownList)e.Item.FindControl("DropDownStatus")).SelectedValue= ((TableCell)e.Item.Controls[6]).Text;
    	}
    	catch(Exception ex){Response.Write(ex.Message);}
    }
    loadKeyValue è una mia funzione che riempe la DropDown con dei valori da db
    ((DropDownList)e.Item.FindControl("DropDownStatus" )) e la dropdown, ricercata tramite id.
    ((TableCell)e.Item.Controls[6]).Text riporta il testo della 6 colonna che nel mio caso e quella con il valore da assegnare.

    spero possa servire a qualcuno

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.