Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C# a dynamické načítání do listBoxu (mimo jiné)

Mam objekt, ktery mi v case vraci ruzne retezce a tyto retezce si nekam zapisuji. Ted mi jde o to, abych mohl do objektu listBox zapisovat cislo retezce a pokud na toto cislo v listBoxu kliknu, mela by se zobrazit v editBoxu specificka zprava, ktera nalezi k tomu cislu.
Bohuzel nemam dostatecny programatorsky skill, abych domyslel kam zapisovat a jak tyto retezce, aby to fungovalo jak zamyslim - jak popisuji.

Uvazoval jsem o nejake jednoduche tride:

class Customer
{
    private string ObsahZpravy;
    private string MobilniCislo;
    
    public Customer(string ObsahZpravy, long ObsahZpravy)
    {
        this.ObsahZpravy = ObsahZpravy;
        this.MobilniCislo = MobilniCislo;
        
    }

    public override string ToString()
    {
        return string.Format("{0} uzivatel, {1},\nzprava: {2}", MobilniCislo, ObsahZpravy);
    }

    public string vratCislo()
    {
    return this.MobilniCislo;
    } 

    public string vratZpravu()
    {
     return this.ObsahZpravy;
    }
 
}


Dale si vytvorim list: private List<Customer> ucastnici = new List<Customer>();

Nyni by me zajimalo, jak pravidelne tuto rozrustajici se kolekci (ucastnici) mohu pridruzit k objektu listBox a to tak aby:

- Se listBox rozrustal o nove polozky s nazvem cisla - neredundantne
- Aby kliknuti na prislusnou polozku v listBoxu vyvolalo zobrazeni udaju o konkretnim ucastniku.

:-) diky

Předmět Autor Datum
Uff. tak uz jsem to poresil.
Flash_Gordon 29.04.2009 19:38
Flash_Gordon
public Customer(string ObsahZpravy, long ObsahZpravy) { this.ObsahZpravy = ObsahZpravy; this.Mobilni…
MaSo 29.04.2009 23:23
MaSo
Klid to je ilustrativni priklad. Samoyrejme tam melo byt: string, protoze ta webova sluyba vraci vse…
Flash_Gordon 29.04.2009 23:25
Flash_Gordon
Spíš bych řekl, že to mělo bejt tahkle: public Customer(string ObsahZpravy, long MobilniCislo) { th…
MaSo 29.04.2009 23:27
MaSo
Jo
Flash_Gordon 29.04.2009 23:28
Flash_Gordon
Každopádně koukám, že "sí šarp" je dost podobné Javě (dokonce zvládá i generické datové typy:-)), as…
MaSo 29.04.2009 23:30
MaSo
Dá sa to urobiť aj jednoduchšie, nepovedal si ale či to robíš v ASP.NET alebo vo WinForms - toto pre… poslední
Len tak 30.04.2009 08:01
Len tak
public Customer(string ObsahZpravy, long ObsahZpravy)
    {
        this.ObsahZpravy = ObsahZpravy;
        this.MobilniCislo = MobilniCislo;
        
    }

Tý brďoooou, takovej konstruktor, fakt čumím teda... Bych řekl, že ten atribut MobilniCislo je tam asi úplně na hovno...:-D

Dá sa to urobiť aj jednoduchšie, nepovedal si ale či to robíš v ASP.NET alebo vo WinForms - toto pre WinForms :

class Customer
{
    public string ObsahZpravy { get; set; }
    public string MobilniCislo { get; set; }

    public override string ToString()
    {
        return string.Format("{0} uzivatel, {1},\nzprava: {2}", MobilniCislo, ObsahZpravy);
    }
}

void NaplnListBox(List<Customer> Customers, ListBox ListBoxControl)
{
    var t = new System.Data.DataTable();
    t.Columns.AddRange(new System.Data.DataColumn[] { new System.Data.DataColumn("ObsahZpravy", typeof(string)), new System.Data.DataColumn("MobilniCislo", typeof(string)) });
    foreach (Customer c in Customers)
    {
        var r = t.NewRow();
        r["ObsahZpravy"] = c.ObsahZpravy;
        r["MobilniCislo"] = c.MobilniCislo;
        t.Rows.Add(r);
    }
    listBox1.ValueMember = "ObsahZpravy";
    listBox1.DisplayMember = "MobilniCislo";
    listBox1.DataSource = t.DefaultView;
}

var Zoznam = new List<Customer>(5);

void Pridaj(string Zprava, string Cislo)
{
  Zoznam.Add(new Customer() { ObsahZpravy = Zprava, MobilniCislo = Cislo });
}

To MaSo: C# už zvláda oveľa viacej ako generické dátové typy (od .NET 2.0). .NET Framework je veľmi veľká vec.

Zpět do poradny Odpovědět na původní otázku Nahoru