Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 4.654 pregleda

Najnovija ↓

Problem sa ComboBox-om 07.09.2005. u 10:59 · pre 257 meseci #1
Cao!

Imam sledeci problem: kada ComboBox kontroli dodam DataSource property kao neki DataTable, pa DataMember kao kolonu te tabele, u drop-down listi mi se pojave vrednosti koje su u toj koloni. Tako i treba. Medjutim, nemam neku nazovi pocetnu vrednost - u smislu da hocu da mi se kao prva vrednost pojavi nesto tipa "izaberite nesto..." ili prazan string ili slicno. Odmah mi se u kontroli pojavi prva vrednost u tabeli, a ja to necu. Hocu da korisnik sam izabere tacno sta hoce iz tog comboBox-a, a ako nista ne izabere, onda nemam tu vrednost (tj. imam ili string "izaberite...", ili prazan string, ili ... whatever).

Kako da to uradim???

Thanx :)

Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: Problem sa ComboBox-om 07.09.2005. u 14:50 · pre 257 meseci #2
Pre punjenja tabele podacima dodaj u tabelu red sa vrednošću "Izaberite nešto..." u koloni koja ti je DataMember.
Re: Problem sa ComboBox-om 07.09.2005. u 15:46 · pre 257 meseci #3
Da, to mi je palo na pamet, ali zasto bih to radila? Ja taj DataTable koristim i za druge stvari i potreban mi je u originalu (npr. punim DataGrid). Zamisli da ti u dataGrid-u stoji red sa tekstom "izaberite nesto"...
Problem sam "resila" tako sto sam podatke iz tabele prebacila u listu i dodala taj red. Ali to je presipanje iz supljeg u prazno. Mislila sam da postoji neka fora, tj. neki property koji sam "preskocila", a treba da se enable-uje ili slicno... Bas je bezveze ako to ne moze da se uradi, vec samo dodatnim "budzenjem".
Doduse, mozda je to tako...
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: Problem sa ComboBox-om 07.09.2005. u 18:57 · pre 257 meseci #4
Mozda da probas:
Combo box -> Properties -> Appearance -> Text
i tu uneses "izaberite nesto"
Re: Problem sa ComboBox-om 08.09.2005. u 03:56 · pre 257 meseci #5
To što tražiš može da se postigne ovako:

Code:

myComboBox.SelectedIndex = -1;
myComboBox.Text = "Izaberi nešto";


Navedeni kod treba pozvati posle podešavanja DataSource/DisplayValue vrednosti.

Naravno, ako ti često treba ComboBox sa ovakvim ponašanjem, možeš da izvedeš svoju kontrolu iz bazičnog ComboBox-a:

Code:

public class InitiallyBlankComboBox : ComboBox
{
    private string initialValue = string.Empty;

    public string InitialValue
    {
        get 
        { 
            return this.initialValue; 
        }
        set 
        { 
            this.initialValue = value; 
            this.SelectedIndex = -1;
            this.Text = this.initialValue;
        }
    }

    protected override void OnDisplayMemberChanged(EventArgs e)
    {
        base.OnDisplayMemberChanged (e);
        this.SelectedIndex = -1;
        this.Text = this.initialValue;
    }
}


I onda ga koristiš tako što podesiš InitialValue na neophodnu vrednost, npr. "Izaberi nešto..."
Re: Problem sa ComboBox-om 08.09.2005. u 15:03 · pre 257 meseci #6
E, super, ovo resava problem. Sjajno, hvala! Ko bi se setio da uzme indeks -1 i da postavi Text property... :)
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: Problem sa ComboBox-om 23.09.2005. u 01:11 · pre 257 meseci #7
Ima jos jedno jednostavnije resenje. Posto bindujes combobox, dodaj sledecu liniju koda koja insetuje prazno polje na pocetku combobox, (takodje umesto praznog teksta mozes da stavis npr [izaberite vrednost].

ComboBox1.Items.Insert(0,new ListItem(null,null));
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme