Originariamente inviato da the darkness 
mi togli solo una curiosita'?come hai fatto a buttarci dentro tutti i comuni d'italia?
ti sei messo a fare copia e incolla?!?
			
		
 
	 
 
Dio Buono e Misericordioso  mi vien da dire
 mi vien da dire  ho fatto una pagina server ed ho messo nella pagina:
 ho fatto una pagina server ed ho messo nella pagina:
    <script language="javascript" type="text/javascript">
// <!CDATA[
var province = <%=Province %>;
var comuni = <%=Comuni %>;
// ]]>
</script>
dove Province e Comuni sono due property 
	codice:
	    Protected ReadOnly Property Province() As String
        Get
            Dim dt As DataTable = libreria.GetDataTable(StringaConnessioneTest, "select codice_istat_provincia, nome_provincia, codice_istat_regione from q_provincie order by nome_provincia")
            Return vettoreToArrayJS(dt)
        End Get
    End Property
    Protected ReadOnly Property Comuni() As String
        Get
            Dim dt As DataTable = libreria.GetDataTable(StringaConnessioneTest, "select id_comune, nome_comune, codice_istat_provincia from q_comuni order by nome_comune")
            Return vettoreToArrayJS(dt)
        End Get
    End Property
 
mentre il dropdown delle regioni è caricato nel load della pagina
	codice:
	    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim dt As DataTable = libreria.GetDataTable(StringaConnessioneTest, "select codice_istat_regione, nome_regione from regioni order by nome_regione")
        libreria.FillListControl(Me.DropDownList_regioni, dt.DefaultView, "nome_regione", "codice_istat_regione")
    End Sub
 
vettoreToArrayJS è invece una procedura che scandisce un DataTable e restituisce un vettore javascript bidimensionale
	codice:
	    '----------------------------------------------------------------------------------------
    'restituisce un vettore bidimensionale letterale javascript tipo
    '[ ["28001", "ABANO TERME"], ["98001", "ABBADIA CERRETO"], ["97001", "ABBADIA LARIANA"] ]
    '----------------------------------------------------------------------------------------
    Public Function vettoreToArrayJS$(ByVal a As DataTable)
        Const Delimitatore$ = """"
        Dim i%, j%, r%, c%
        Dim vjs As New StringBuilder()
        Dim t As New StringBuilder()
        r = a.Rows.Count - 1          'indice max riga. Righe = r+1
        c = a.Columns.Count - 1       'indice max colonne. Colonne = c+1
        vjs.Length = 0
        vjs.Append("[ ")
        For i = 0 To r
            t.Length = 0
            t.Append("[")
            For j = 0 To c
                If j > 0 Then t.Append(", ")
                t.Append(Delimitatore)
                t.Append(valoreCella(a.Rows(i)(j), a.Columns(j)))
                t.Append(Delimitatore)
            Next
            t.Append("]")
            If i > 0 Then vjs.Append(", ")
            vjs.Append(t)
        Next
        vjs.Append(" ]")
        Return vjs.ToString()
    End Function
 
Naturalmente poi basta prendere l'html prodotto e usarlo come pare.
Soddisfatta la curiosita?  
 
 