Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    48

    Cambiare colore Sfondo DropDownList in una Gridview a seconda del contenuto.

    Buongiorno.
    Con visualstudio 2010, ho creato una pagina aspx contenente una gridview associata ad una tabella.
    Cerco di semplificare:La tabella del gridview(Tabella1) ha 3 campi: ID, Campo1, ID_Colore.

    ID_Colore è una chiave esterna ad un'altra tabella (Tabella2) che ha 2 campi: ID_colore e Tipo_colore.

    Nella gridview, ID_Colore è visualizzato da una DropDownlist che come valore ID_Colore e che visualizza il colore corrispondente.

    Come posso fare per far si che il backcolor della dropdownlist di ogni riga della gridview di Tabella1 sia colorato con il colore scelto dall'utente?

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Ho fatto un esempio con una sorgente creata al volo:

    codice:
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="50%">
            <Columns>
                    <asp:BoundField DataField="ID" />            
                    <asp:BoundField DataField="Campo1" />            
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp: DropDownList ID="dd" runat="Server"></asp: DropDownList>
                        </ItemTemplate>
                    </asp:TemplateField>
                    </Columns>
            </asp:GridView>
    
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then
                Dim dt As New DataTable
    
                ' Colonne
                Dim ID As New DataColumn("ID")
                dt.Columns.Add(ID)
    
                Dim Campo1 As New DataColumn("Campo1")
                dt.Columns.Add(Campo1)
    
                Dim Colore As New DataColumn("Colore")
                Colore.DataType = GetType(System.Drawing.Color)
                dt.Columns.Add(Colore)
    
                ' Righe
                Dim r1 As DataRow = dt.NewRow
                r1.Item(0) = "1"
                r1.Item(1) = "valore uno"
                r1.Item(2) = System.Drawing.Color.Yellow
                dt.Rows.Add(r1)
    
                Dim r2 As DataRow = dt.NewRow
                r2.Item(0) = "2"
                r2.Item(1) = "valore 2"
                r2.Item(2) = System.Drawing.Color.Blue
                dt.Rows.Add(r2)
    
                GridView1.DataSource = dt
                GridView1.DataBind()
            End If
        End Sub
    
        Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
            If e.Row.RowType = DataControlRowType.DataRow Then
                Dim ddl As New DropDownList
                ddl = CType(e.Row.Cells(2).FindControl("dd"), DropDownList)
                ddl.BackColor = e.Row.DataItem("colore")
            End If
        End Sub

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    48
    GRAZIEEEE!!!!!!!

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.