Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473

    [VS2010 ASP.NET #VB] Gridview con colonna dropdownlist

    Ciao a tutti!

    Ho una gridview che si popola da codice, in questa griglia ho una colonna dove vorrei far visualizzare una dropwonlist quando modifico o aggiungo un record

    Sono riuscito a popolare la dropdownlist con i dati che mi servono, ma nel momento in cui faccio click su modifica riga, compare la dropdownlist (con tutti gli items corretti) senza la selezione del giusto valore, rimane sempre selezionato il primo items in elenco

    Come faccio a passare ID esatto alla dropdown list quando faccio la modifica?

    Vi posto il codice...
    La dropdownlist si chiama ddlContatto

    griglia.aspx
    codice:
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataSourceID="SqlDataSource1" AllowPaging="True" Width="100%" ShowFooter="True"
            AllowSorting="True" PageSize="20">
            <AlternatingRowStyle BackColor="#DFDFDF" />
            <PagerStyle ForeColor="#3a4f63" HorizontalAlign="Right" 
                   BackColor="#C6C3C6"></PagerStyle>
            <Columns>
                <asp:TemplateField HeaderText="Id" InsertVisible="False" ShowHeader="False">
                    <EditItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("id") %>'></asp:Label>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1a" runat="server" Text='<%# Bind("id") %>'></asp:Label>
                    </ItemTemplate>                
                    <ItemStyle Width="50px" />
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Creato" SortExpression="data_creazione" 
                    InsertVisible="False">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("data_creazione") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("data_creazione") %>'></asp:Label>
                    </ItemTemplate>               
                    <HeaderStyle HorizontalAlign="Center" />
                    <ItemStyle HorizontalAlign="Left" />
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Con" SortExpression="n_contatto">
                    <EditItemTemplate>
                        <asp:DropDownList ID="ddlContatto" runat="server" DataSourceID="SqlDataSource2" DataTextField="nominativo"
                            DataValueField="id" Width="199px" AppendDataBoundItems="true">
                        </asp:DropDownList>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("nome_contatto") %>'></asp:Label>
                    </ItemTemplate>
                    <FooterTemplate>
                        <asp:DropDownList ID="ddlAddContatto" runat="server" DataSourceID="SqlDataSource2" DataTextField="nominativo"
                            DataValueField="id" Width="199px" AppendDataBoundItems="true">
                        </asp:DropDownList>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Azione" SortExpression="note_app">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("note_app") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label4" runat="server" Text='<%# Bind("note_app") %>'></asp:Label>
                    </ItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox id="txtAddNote_app" runat="server"></asp:TextBox>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Prossima Azione" 
                    SortExpression="data_appuntamento">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox4" runat="server" 
                            Text='<%# Bind("data_appuntamento") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label5" runat="server" Text='<%# Bind("data_appuntamento") %>'></asp:Label>
                    </ItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox id="txtAddData_appuntamento" runat="server"></asp:TextBox>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Avvisa Admin." SortExpression="email_resp">
                    <EditItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" 
                            Checked='<%# Bind("email_resp") %>' />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("email_resp") %>' 
                            Enabled="false" />
                    </ItemTemplate>
                    <FooterTemplate>
                        <asp:CheckBox id="chkAddAvvisa_admin" runat="server"></asp:CheckBox>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Eseguito" SortExpression="eseguito" 
                    InsertVisible="False">
                    <EditItemTemplate>
                        <asp:CheckBox ID="CheckBox2" runat="server" Checked='<%# Bind("eseguito") %>' />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox2" runat="server" Checked='<%# Bind("eseguito") %>' 
                            Enabled="false" />
                    </ItemTemplate>
                    <FooterTemplate>
                        <asp:Button id="btnAdd" runat="server" Text="Aggiungi" Width="60px" CommandName="Add"></asp:Button>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:CommandField AccessibleHeaderText="Modifica" ButtonType="Button" 
                    DeleteText="" EditText="Modifica" UpdateText="Salva" CancelText="Annulla" 
                    ShowEditButton="True" HeaderText="Modifica" />
            </Columns>
    
    
    
    
        </asp:GridView>


    griglia.aspx.vb

    codice:
    Imports System.Data
    Imports System.Data.SqlClient
    Imports System.Transactions
    Imports System.Net.Mail
    Imports System.IO
    Imports System.Web.Configuration
    
    Partial Class ravizza_super_admin_it_Note_azienda
        Inherits System.Web.UI.Page
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
    
            If Not IsPostBack Then
    
                id_cliente.Value = Request.QueryString("id_cli")
                id_contatto.Value = Request.QueryString("id_con")
                se_utente.Value = Session("s_utente")
                se_tipo.Value = Session("s_tipo")
    
                'CARICO LE INFORMAIONI GENERALI DELLA PRATICA
                Dim SQL As String
                Dim cmd As SqlCommand
    
                SQL = "SELECT ragione_sociale FROM CLIENTI_POTENZIALI WHERE (id=@id)"
                cmd = New SqlCommand(SQL, New SqlConnection(ConfigurationManager.ConnectionStrings("dbConnectionString").ToString))
    
                Try
    
                    With cmd.Parameters
                        .Add("@id", SqlDbType.Int)
                    End With
    
                    cmd.Parameters("@id").Value = id_cliente.Value
    
                    'APRE LA CONNESSIONE
                    cmd.Connection.Open()
                    'ESEGUE NLA QUERY, RESTITUISCE UN OGGETTO SqlDataReader
    
                    Dim dr As SqlDataReader = (cmd.ExecuteReader(CommandBehavior.CloseConnection))
    
    
                    If dr.HasRows Then
                        'si sposta ciclicamente attraverso i record e visualizza i valori.
                        Do While dr.Read
    
                            cliente.Text = dr("ragione_sociale")
                            cliente.CssClass = "titolo_pratica"
    
                           
                        Loop
    
    
                    Else
                        'MsgBox("Utente e/o password errati", vbCritical, "ERRORE")
                    End If
    
                    dr.Close()
    
                Catch ex As Exception
                    'messageBox.Show("Riportare il seguente errore al programmatore: ERRORE 0161" & vbCrLf & ex.Message, "Errore sql")
                    Exit Sub
                Finally
                    cmd.Connection.Close()
                End Try
    
    
                SqlDataSource2.SelectCommand = "SELECT id, nome + ' ' + cognome as nominativo FROM [CONTATTI] WHERE n_cliente=" & id_cliente.Value & " ORDER BY nominativo"
    
            End If
    
            SqlDataSource2.SelectCommand = "SELECT id, nome + ' ' + cognome as nominativo FROM [CONTATTI] WHERE n_cliente=" & id_cliente.Value & " ORDER BY nominativo"
    
    
        End Sub
    
    
    
    
        Sub carica_dati()
            Dim SQL As String
            Dim n_banca As String = ""
            Dim n_filiale As String = ""
            Dim n_confido As String = ""
            Dim id_utente As String = ""
    
    
            SQL = "SELECT APPUNTAMENTI.id, APPUNTAMENTI.data_creazione, note_app, data_appuntamento, eseguito, n_contatto, APPUNTAMENTI.email_resp, nome + ' ' + cognome as nome_contatto  FROM APPUNTAMENTI, CONTATTI WHERE APPUNTAMENTI.n_contatto=CONTATTI.id and APPUNTAMENTI.n_cliente=" & id_cliente.Value & ""
    
            If data_da.Text <> "" And data_a.Text <> "" Then
                SQL = SQL & " and (APPUNTAMENTI.data_creazione between convert(varchar, @f_data_da, 101) and convert(varchar, @f_data_a, 101))"
            End If
    
            If persone.SelectedValue <> "0" Then
                SQL = SQL & " AND (n_contatto=@f_persone)"
            End If
    
            If azione.Text <> "" Then
                SQL = SQL & " AND (note_app LIKE '%' + @f_azione + '%')"
            End If
    
            If data_da2.Text <> "" And data_a2.Text <> "" Then
                SQL = SQL & " and (data_appuntamento between convert(varchar, @f_data_da2, 101) and convert(varchar, @f_data_a2, 101))"
            End If
    
            If si.Checked = True Then
                SQL = SQL & " and (APPUNTAMENTI.email_resp='true')"
            ElseIf no.Checked = True Then
                SQL = SQL & " and (APPUNTAMENTI.email_resp='false')"
            End If
    
            If si2.Checked = True Then
                SQL = SQL & " and (eseguito='true')"
            ElseIf no2.Checked = True Then
                SQL = SQL & " and (eseguito='false')"
            End If
    
            SQL = SQL & " ORDER BY id DESC"
    
            SqlDataSource1.SelectCommand = SQL
    
        End Sub
    
        Protected Sub GridView1_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GridView1.RowCancelingEdit
            GridView1.EditIndex = -1
            GridView1.ShowFooter = True
        End Sub
    
       
        Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing
            GridView1.EditIndex = e.NewEditIndex
            GridView1.ShowFooter = False
        End Sub
    
        Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating
    
        End Sub
    End Class


    Grazie mille!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    H trovato una guida dove spiega bene come e cosa bisogna fare.
    La condivido con voi, sperando che possa servire a qualcuno

    http://codedisplay.com/how-to-bind-p...-net-c-vb-net/

    ciao a tutti!!

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.