Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Originariamente inviato da M@nu
    cmq non è a nothing (è o "IT", o "EN" ecc....)
    umh... ti suggerisco un altro esempio di codice (posto che ddl_lingue_uc sia una dropdownlist correttamente istanziata)
    codice:
    ddl_lingue_uc.SelectedIndex = -1
            For Each _item As ListItem In ddl_lingue_uc.Items
                If _item.Value = "IT" Then
                    _item.Selected = True
                End If
            Next
    Saluti a tutti
    Riccardo

  2. #12
    Utente di HTML.it L'avatar di M@nu
    Registrato dal
    Dec 2001
    Messaggi
    352
    hee.... ma non trova proprio gli item.... è come se considerasse la tendina vuota....

    io credo che sia istanziata correttamente perchè, viceversa, se LEGGO il valore selezionato non ho problemi

    codice:
    xx=ddl_lingue_uc.SelectedValue
    xx = "IT" o "EN" o cmq quello selezionato
    IL MONDO È BELLO PERCHÉ È VARIO.

  3. #13
    Utente di HTML.it L'avatar di M@nu
    Registrato dal
    Dec 2001
    Messaggi
    352
    Cmq.... in effetti, mi sa che ho un po' di confusione in testa...
    ho provato con

    codice:
                    If Not IsDBNull(DR("LANG")) Then
                        Dim miaDdlLingue As Control = Me.LoadControl("../uc_ddl_lingue.ascx")
                        CType(miaDdlLingue.FindControl("ddl_lingue"), DropDownList).Items.FindByValue(DR("LANG")).Selected = True
                    End If
    come mi avevi scritto in precedenza, e trova la "ddl_lingue" (System.Web.UI.WebControls.DropDownList di uc_ddl_lingue.ascx ) ma ma con valori
    SelectedIndex -1
    SelectedItem Nothing System.Web.UI.WebControls.ListItem
    SelectedValue ""



    Allora ho sbagliato nel fare l'uc?
    io ho messo la ddl è l'ho carcata dal db

    ci dovevo mettere qualcosa?
    IL MONDO È BELLO PERCHÉ È VARIO.

  4. #14
    Originariamente inviato da M@nu
    Cmq.... in effetti, mi sa che ho un po' di confusione in testa...
    tiro ad indovinare... il codice che ti ho postato dovrebbe selezionare il valore nella dropdown. Se pero', dopo averlo selezionato, chiami ad esempio il databind del tuo uc o della pagina che lo contiene perdi la selezione precedente.
    Saluti a tutti
    Riccardo

  5. #15
    Utente di HTML.it L'avatar di M@nu
    Registrato dal
    Dec 2001
    Messaggi
    352
    no, non la ricarico la tendina. lo uc carica la tendina nella load,If Not Page.IsPostBack.

    Nella load, If Not Page.IsPostBack della pagina che contiene il controllo chiamo un afunzione che riempie i vari campi, tra qui vorrei ke mi selezionasse correttamente la tendina della lingua.

    quando arriva nella funzione che riempie i campi faccio

    If Not IsDBNull(DR("LANG")) Then
    Dim miaDdlLingue As Control = Me.LoadControl("../uc_ddl_lingue.ascx")
    CType(miaDdlLingue.FindControl("ddl_lingue"), DropDownList).Items.FindByValue(DR("LANG")).Select ed = True
    End If

    deltro il loop del datareader.

    Quando passo con il debug per Dim miaDdlLingue As Control = Me.LoadControl("../uc_ddl_lingue.ascx") trova tutte le proprietà a Nothing.

    Se invece metto nelle dichiarazioni
    Protected WithEvents uc_ddl_lingue_modnews As System.Web.UI.UserControl
    Dim ddl_lingue_uc As DropDownList

    E nella load della pagina
    ddl_lingue_uc = uc_ddl_lingue_modnews.FindControl("ddl_lingue")
    e poi chiamo la sub che riempie i campi, nel loop del datareader

    If Not IsDBNull(DR("LANG")) Then
    ddl_lingue_uc.Items.FindByValue(DR("LANG")).Select ed = True
    End If

    Trova delle proprietà ma credo siano sbagliate, perchè nel controllo immediato di ddl_lingue_uc 0 (zero) e come ID di ddl_lingue_uc, mi da ddl_lingue, che sarebbe l'ID della tendina.


    ...non so se si capice qualcosa di quello che ho scritto.... grazie per la pazienza... davvero...
    IL MONDO È BELLO PERCHÉ È VARIO.

  6. #16
    Originariamente inviato da M@nu
    no, non la ricarico la tendina....non so se si capice qualcosa di quello che ho scritto....
    non riesco a capire bene quello che stai facendo, cmq ti indico la strada che seguirei io poi vedi tu... nello user control dovresti gestire forse meglio i dati. Nel codice html della pagina scrivi nella dichiarazione della dropdown
    codice:
    datasource='<%# GetSource %>' datatextfield='campo' datavalue='campoval' selectedindex='<%# GetLang %>'
    nel codebehind metti una funzione GetSource che restituisce una dataview (o datatable) con tutti i valori da mettere nella dropdown. Metti anche una funzione GetLang(_id as integer) che ti passa un id che ti serve per trovare il valore relativo all'utente (di cui hai appunto l'id) usi questo valore (es. IT) per ciclare nella collezione di items della dropdown. Quando trovi l'item restituisci fuori dalla funzione il suo indice (usando tuadrop.items.indexof(item)). Metti un bel databind nel pageload dello usercontrol e il gioco e fatto.
    Occhio alla sintassi perche' ho scritto a memoria.
    Saluti a tutti
    Riccardo

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 © 2026 vBulletin Solutions, Inc. All rights reserved.