Foreach a projiti objektu – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Foreach a projiti objektu – .NET – Fórum – Programujte.comForeach a projiti objektu – .NET – Fórum – Programujte.com

 

Tom
~ Anonymní uživatel
434 příspěvků
21. 5. 2011   #1
-
0
-

Dobr den,

Mam vytvoreny objekt



class Polozka
{
private int cislo;
public int Cislo
{
get { return cislo; }
set { cislo = value; }
}

private int cislofaktury;
public int Cislofaktury
{
get { return cislofaktury; }
set { cislofaktury = value; }
}

private string nazev;
public string Nazev
{
get { return nazev; }
set { nazev = value; }
}

private string mj;
public string Mj
{
get { return mj; }
set { mj = value; }
}

private int cena;
public int Cena
{
get { return cena; }
set { cena = value; }
}

private int carovykod;
public int Carovykod
{
get { return carovykod; }
set { carovykod = value; }
}

public Polozka(int cislo, int cislofaktury, string nazev, string mj, int cena, int carovykod)
{
this.cislo = cislo;
this.cislofaktury = cislofaktury;
this.nazev = nazev;
this.mj = mj;
this.cena = cena;
this.carovykod = carovykod;
}
}


A chtel bych se zeptat jak pomoci foreache vypisu do listview?

Dekuji moc za pomoc

Nahlásit jako SPAM
IP: 92.62.224.–
Bambulka
~ Anonymní uživatel
3 příspěvky
21. 5. 2011   #2
-
0
-

1/ Namiesto tohto:



private int carovykod;
public int Carovykod
{
get { return carovykod; }
set { carovykod = value; }
}


mozes kludne pouzit toto:




public int Carovykod
{
get;
/*???*/private set;
}


2/ Ten objekt je vlastne jeden zaznam, nikde nepises, aky mas zdroj - ako priklad mozes pouzit genericky List:



public class Zaznam
{
public string Meno { get; private set; }
public string Priezvisko { get; private set; }

public Zaznam(string meno, string priezvisko)
{
Meno = meno;
Priezvisko = priezvisko;
}
}

...

List<Zaznam> zoznamZaznamov = new List<Zaznam>();
zoznamZaznamov.Add(new Zaznam("Janko", "Hrasko"));
zoznamZaznamov.Add(new Zaznam("Peter", "Pan"));
zoznamZaznamov.Add(new Zaznam("Macko", "Pu"));

...



3/ Ak takyto zoznam chces zobrazit cez foreach (preco cez cyklus?) tak to mozes urobit napr takto:



foreach (Zaznam aktualnyZaznam in zoznamZaznamov)
{
string zobrazitText = aktualnyZaznam.Meno + " " + aktualnyZaznam.Priezvisko;

listBox1.Items.Add(zobrazitText);
}


4/ Lepsie je overridnut v tvojej triede (zaznam) ToString() - to bude to, co sa ti zobrazi v zozname - a list priamo vlozis ako zdroj pre ListBox (budes tam mat potom smernik na tvoju triedu a tak napr. pri oznaceni si mozes SelectedItem pretypovat na tvoj zaznam:




using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
// Nejaky zoznam
private List<Zaznam> zoznamZaznamov = new List<Zaznam>()
{
{ new Zaznam("Janko", "Hrasko", 1986) },
{ new Zaznam("Peter", "Pan", 1987) },
{ new Zaznam("Macko", "Pu", 1988) }
};

public Form1()
{
InitializeComponent();

listBox1.DataSource = zoznamZaznamov; // Priradime zdroj
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Zaznam oznacenyZaznam = (listBox1.SelectedValue as Zaznam); // Vieme sa dostat ku instancii zo zoznam

MessageBox.Show("Narodeny: " + oznacenyZaznam.RokNarodenia.ToString());
}
}

public class Zaznam
{
public string Meno { get; private set; }
public string Priezvisko { get; private set; }
public int RokNarodenia { get; private set; }

public Zaznam(string meno, string priezvisko, int rokNarodenia)
{
Meno = meno;
Priezvisko = priezvisko;
RokNarodenia = rokNarodenia;
}

public override string ToString()
{
return Meno + " " + Priezvisko; // Toto sa bude zobrazovat v listboxe
}
}

}

Nahlásit jako SPAM
IP: 88.212.40.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 66 hostů

Podobná vlákna

Projití děravého pole — založil Matěj Andrle

Foreach — založil Karel

Foreach — založil Marty_SVK

Cyklus foreach a while — založil Forest

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý