Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197

    [C#]mioCombo.SelectedIndex = -1

    ho un combo popolato tramite binding da una datable



    al click di un pulsante richiamo una funzione di pulizia che fa
    mioCombo.SelectedIndex = -1

    ma ottengo un comportamento strano: se lascio il combo cosi com'e' senza
    selezionare nulla, cioe non effettuo nessuna scelta sul combo ma lascio la
    voce visibile(il primo record del datatable) il posizionamento sul elemento
    vuoto funziona

    ma se seleziono qualcosa dal combo e richiamo la funzione di pulizia questo
    non si posiziona sull'elemento vuoto ma sul primo elemento,
    praticamente in questo caso devo richiamare due volte mioCombo.SelectedIndex
    = -1

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Se invece tenti di sfruttare la proprietà SelectedItem impostandola al valore null?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    ottengo lo stesso comportamento, se vado a selezionare prima un'elemento del combo quando faccio cbbArtista.SelectedItem = null;
    il combo non si pulisce ma si posiziona sul primo elemento

    secondo me è il binding che gli fa fare questa cosa

  4. #4
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    hei Alka ho verificato che sia il binding a creare questo comportamento strano ed ho avuto la conferma(almeno credo)

    popolando il combo a mano:
    comboBox1.Items.Add(1);
    comboBox1.Items.Add(2);
    comboBox1.Items.Add(3);
    comboBox1.Items.Add(4);
    comboBox1.Items.Add(5);

    sia che uso comboBox1.SelectedItem = null oppure comboBox1.SelectedIndex = -1 questo funziona correttamente, cioe si posiziona su elemento vuoto, se il combo è popolato da binding invece si posiziona sul primo record della datatable come cavolo lo risolvo sto problema, inutile dirti che non voglio rinunciare al binding

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Mi conferma un mio collega che, almeno che non esista un altro metodo, parrebbe essere un buco della ComboBox.

    Noi lavoriamo con Delphi.NET, ma il principio è lo stesso.

    Nel nostro codice di un progetto, impostiamo al valore nullo la proprietà SelectedItem e SelectedIndex a -1.

    Che posso dire......
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    porcavacca,mi piacerebbe saperne di piu questa cosa,

    usate il binding per popolare un combo?

    nella sequenza accadono questi fatti:
    1) il combo si popola e si posiziona gia sul primo elemento(e non rimane vuoto, gia questo non mi piace)
    2) se non tocco per niente il combo e faccio selectIndex = -1 funziona, cioe si toglie dal primo elemento,
    ma se per caso prima seleziono con il mouse un'elemento del combo questo mi ritorna sul primo elemento quando faccio selectIndex = -1 poi se rifaccio una seconda volta selectIndex = -1 allora si svuota.

    qualcun'altro ha notato questo comportamento?

    c'e' un modo di aggiungere come primo elemento del combo un elemento vuoto? naturalmente continuoando a popolare via binding(e chiaramente non voglio aggiungere una riga vuota nel datatbase)

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.