Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Datagrid & Dropdownlist

    Salve a tutti!

    Sono un neofita di asp.net ed ho un quesito da porvi:

    Ho una pagina che contiene una DataGrid collegata ad un objectdatasource.

    In questa Datagrid, chiamata "DataGrid1", c'è un ItemTemplate al cui interno c'è una dropdownlist nel suo Edit:

    <asp:TemplateField HeaderText="Ordinamento">
    <ItemTemplate><%#Eval("ordinamento") %></ItemTemplate>
    <EditItemTemplate>
    <aspropDownList ID="ordinamento" runat="server">
    </aspropDownList>
    </EditItemTemplate>
    </asp:TemplateField>

    Come faccio, possibilmente in c#, a recuperare nel codice il controllo di questa dropdownlist per popolarla?
    Mi spiego, vorrei che questo menù a tendina contenga 100 elementi, numeri da 1 a 100, quindi vorrei fare un ciclo che mi popoli la dropdownlist. Solo non so come fare!

    Pensavo di inserire il codice all'interno dell'evento "RowEditing", ma non so come. In pratica:

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
    decimal[] ord_list = new decimal[100];
    for (int i = 0; i < 10; i++)
    ListItem add_data = new ListItem(i,i);
    ordinamento.Items.Add(add_data);
    }

    Cosa sbaglio?

    Grazie a tutti!
    Una borsa di conio compra il silenzio di un uomo per un po'. Un dardo di balestra compra quel silenzio per sempre...

  2. #2
    Guarda qui

    potevi anche fare una ricerca su google però, questa è la prima voce che mi è apparsa con "custom control datagrid dropdownlist"..

    xxx

  3. #3
    E' una mattinata che cerco su google senza trovare apparente risposta.

    Magari è dovuto al fatto che ancora non sono "esperto".

    Comunque, per chi magari può avere il mio stesso dilemma, ecco la soluzione:

    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow & e.Row.RowState == DataControlRowState.Edit)
    {
    DropDownList _drop = e.Row.FindControl("ordinamento") as DropDownList;
    if (_drop != null)
    {
    for (int i = 0; i < 100; i++)
    {
    string a = i.ToString();
    ListItem add_data = new ListItem(a,a);
    _drop.Items.Add(add_data);
    }
    }
    }
    }

    Grazie lo stesso!
    Una borsa di conio compra il silenzio di un uomo per un po'. Un dardo di balestra compra quel silenzio per sempre...

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.