Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Nasledjivanje problem

[es] :: .NET :: .NET Desktop razvoj :: Nasledjivanje problem

[ Pregleda: 3129 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Nasledjivanje problem05.05.2009. u 15:42 - pre 182 meseci
Imam klasu UcitajAutomobil koja uzima podatke iz baze i prikazuje ih u Lisview-u. Problem je u tome sto kada iz druge klase hocu da nasledim UcitajAutomobil daje mi glesku Dispose(bool)': no suitable method found to override. Glavna mi nasledjuje iz UcitajAutomobil.
UcitajAutomobil.cs
Code:
public class UcitajAutomobil
    {
        public void UcitajUListview()
        {
            listViewRaspolozivi.Items.Clear();
            DataSet ds = new DataSet();
            string upit = "Select * from Vozilo";

            using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.RentCarConnStr))
            {
                SqlDataAdapter da = new SqlDataAdapter(upit, conn);
                da.Fill(ds);
            }

            DataTable tblVozilo = ds.Tables[0];
            foreach (DataRow dr in tblVozilo.Rows)
            {
                ListViewItem lvi = new ListViewItem(dr["ID_vozila"].ToString());

                lvi.SubItems.Add(dr["Marka"].ToString());
                lvi.SubItems.Add(dr["Boja"].ToString());
                lvi.SubItems.Add(dr["Godiste"].ToString());
                lvi.SubItems.Add(dr["Registracija"].ToString());

                listViewRaspolozivi.Items.Add(lvi);
            }

            if (listViewRaspolozivi.SelectedItems.Count == 0)
            {
                return;
            }

            string query = "Select * from Vozilo Where ID_vozila = '" +
                listViewRaspolozivi.SelectedItems[0].Tag.ToString() + "'";

            using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.RentCarConnStr))
            {
                SqlCommand cmd = new SqlCommand(query, conn);
                conn.Open();

                SqlDataReader dr = cmd.ExecuteReader();
                dr.Read();

                Automobil car = new Automobil();
                car.ID = (int)dr[0];
                car.Marka = dr[1].ToString();
                car.Boja = (string)dr[2];
                car.Godiste = (string)dr[3];
                car.Registracija = (string)dr[4];

                dr.Close();

                conn.Close();

                voziloBindingSource.DataSource = car;

            }
        }
    }

Glavna.cs
Code:
 public partial class Glavna : UcitajAutomobil
    {
        public Glavna()
        {
            InitializeComponent();
        }

        private void ucitajToolStripMenuItem_Click(object sender, EventArgs e)
        {
            UcitajAutomobil ucitaj = new UcitajAutomobil();
            ucitaj.UcitajUListview();
        }
    }

http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.static.sbb.rs.



Profil

icon Re: Nasledjivanje problem05.05.2009. u 16:03 - pre 182 meseci
Rekao bih da ti je pristup u startu pogrešan.

Jesu li u pitanju klase koje nasledjuju Form klasu?

Da li bi napisao šta u stvari želiš da uradiš, a što te je navelo da primenjuješ nasledjivanje?
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: Nasledjivanje problem05.05.2009. u 16:16 - pre 182 meseci
Koristim ListView i imam dve forme Ucitaj i Obrisi. Ova klasa UcitajAutomobil ima jednu metodu UcitajUListview() i puni listview prve i druge forme, pa sam hteo da iskoristim nasledjivanje kako bi popunio obe forme.
Lakse bi bilo kad bih isti kod koristio u Ucitaj formi i Obrisi formi, ali ja to necu. Pocetnik sam u c# i ovo mi je rad za prakticnu nastavu u mojoj skoli.

Moje pitanje je: kako pomocu nasledjivanja da popunim te dve forme.

Ucitaj i Obrisi treba da nasledjuju UcitajAutomobil klasu.

[Ovu poruku je menjao AMD guy dana 05.05.2009. u 17:26 GMT+1]
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: Nasledjivanje problem05.05.2009. u 19:43 - pre 182 meseci
Jel zna neko kako se to radi?
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

Shevchenko
Nikola Vasiljevski

Član broj: 37756
Poruke: 218
93.86.74.*

Sajt: www.vasiljevski.com


+2 Profil

icon Re: Nasledjivanje problem05.05.2009. u 22:07 - pre 182 meseci
Pa definitivno ne ovako :)

Vidis ti nasledjujes "UcitajAutomobil", koja ima metodu "UcitajUListview" (koja bi trebala biti protected) tako da nema potrebe za ovim :
Code:

            UcitajAutomobil ucitaj = new UcitajAutomobil();
            ucitaj.UcitajUListview();


Iz razloga sto "Glavna" nasledjuje vec tu metodu :)
Dakle ovako nekako:

Code:

            Glavna.UcitajUListview();


U potpunosti se slazem sa marko1981 sto se tice pristupa, da je veoma los.

Bolji primer bi bio:

Code:

    public class MotornoVozilo
    {
     //neki kod
    }
    public class Automobil : MotornoVozilo
    {
     //neki kod     
    }
    public class Kamion: MotornoVozilo
    {
     //neki kod     
    }

 public partial class Glavna: Form
    {
        public Glavna()
        {
            InitializeComponent();
        }

        private void ucitajToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Automobil car= new Automobil ();
            Listview.Datasource = car.GetAllCars();
        }
    }

Shoot for the moon. Even if you miss, you'll land among the stars.
Les Brown
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: Nasledjivanje problem05.05.2009. u 23:51 - pre 182 meseci
Znaci klasa motornoVozilo bi u mom slucaju bila UcitajAutomobil sa tom metodom UcitajUListview() a Automobil i Kamion bi bili one dve forme Ucitaj i Obrisi i onda na kraju uradim ovo
Code:
private void ucitajToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Automobil car= new Automobil ();
            Listview.Datasource = car.GetAllCars();
        }
.
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Nasledjivanje problem

[ Pregleda: 3129 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.