c# Seznam forumov c#
c#
 
 Pogosta vprašanjaPogosta vprašanja   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   RSS Feed   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Zasebna sporočilaZasebna sporočila   PrijavaPrijava 




Vaja 10 – Artikli

 
Objavi novo temo   Odgovori na to temo    c# Seznam forumov -> iseesharp
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
seesharp
Administrator foruma


Pridružen/-a: 27.06. 2017, 18:40
Prispevkov: 43

PrispevekObjavljeno: 28 Jun 2017 12:28    Naslov sporočila: Vaja 10 – Artikli Odgovori s citatom

Vaja 10 – Artikli
Izvedite okensko aplikacijo, ki bo ob dogodku naložitve glavnega okna (Form) napolnila
(ne)tipizirano zbirko podatkov z objekti izpeljanimi iz razreda Artikel. Razred Artikel naj
vsebuje tri spremenljivke, ki podajajo ime artikla, količino ter ceno artiklov. Za dostop do
spremenljivk uporabi lastnosti razreda. Ob dogodku prikaza glavnega okna pa se sama
vsebina zbirke prikaže na oknu preko gradnika DataGridView. Za polnjenje gradnika uporabite
lastnost DataSource. Na glavno okno dodajte tudi gradnik MenuStrip z dvema opcijama:
Obdelava ter Artikli, ki ima še dve podopciji: Dodaj ter Briši. Ob izbiri opcije Obdelava se v
sporočilnem oknu (MessageBox) prikaže skupno število artiklov v tabeli. Z opcijo Dodaj se v
tabelo doda novi artikel z naključno ceno in količino. Označeni artikel brišemo z opcijo Briši.
Izboljšava: Dodajte opcijo za hkratni izbris izbranih artiklov.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
seesharp
Administrator foruma


Pridružen/-a: 27.06. 2017, 18:40
Prispevkov: 43

PrispevekObjavljeno: 28 Jun 2017 12:29    Naslov sporočila: Odgovori s citatom

Artikel.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace artikli
{
class Artikel
{
public string ime { get; set; }
public int kolicina { get; set; }
public double cena { get; set; }

public Artikel(string ime, int kolicina, double cena)
{
this.ime = ime;
this.kolicina = kolicina;
this.cena = cena;
}

public int Kolicina
{
get { return kolicina; }
}





}
}
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
seesharp
Administrator foruma


Pridružen/-a: 27.06. 2017, 18:40
Prispevkov: 43

PrispevekObjavljeno: 28 Jun 2017 12:30    Naslov sporočila: Odgovori s citatom

Form1.cs



using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace artikli
{
public partial class Form1 : Form
{
#region nacin1
//nacin 1
ArrayList Artikli;
BindingList<Artikel> ArtikliBL;
#endregion

private void Form1_Load(object sender, EventArgs e)
{
/*
#region nacin1
Artikli = new ArrayList();
Artikli.Add(new Artikel("Miska", 10, 12.9));
Artikli.Add(new Artikel("Tipkovnica", 1, 44.9));
Artikli.Add(new Artikel("Zaslon", 4, 128.9));
Artikli.Add(new Artikel("Tiskalnik", 3, 712.9));
Artikli.Add(new Artikel("Zvocnik", 20, 11.9));
Artikli.Add(new Artikel("Kamera", 6, 22.9));
#endregion
*/

//način 2 - z binding list:
ArtikliBL = new BindingList<Artikel>();
ArtikliBL.Add(new Artikel("Miska-b", 10, 12.9));
ArtikliBL.Add(new Artikel("Tipkovnica-b", 1, 44.9));
ArtikliBL.Add(new Artikel("Zaslon-b", 4, 128.9));
ArtikliBL.Add(new Artikel("Tiskalnik-b", 3, 712.9));
ArtikliBL.Add(new Artikel("Zvocnik-b", 20, 11.9));
ArtikliBL.Add(new Artikel("Kamera-b", 6, 22.9));


}





public Form1()
{
InitializeComponent();

}



private void artikelBindingSource_CurrentChanged(object sender, EventArgs e)
{

}

private void obdelavaToolStripMenuItem_Click(object sender, EventArgs e)
{
int skupaj = 0;
for (int i=0; i<dataGridView1.Rows.Count; i++)
{
skupaj = skupaj + Convert.ToInt32(dataGridView1.Rows[i].Cells[1].Value);
}
MessageBox.Show("Skupaj artiklov: " + skupaj.ToString());
}

private void Form1_Shown(object sender, EventArgs e)
{

//nacin 1:
//dataGridView1.DataSource = Artikli;
//nacin 2:
dataGridView1.DataSource = ArtikliBL;
}

private void dodajToolStripMenuItem_Click(object sender, EventArgs e)
{
//nacin1:
/*
Artikli.Add(new Artikel("Prenosnik", 1, 777.70));
dataGridView1.DataSource = null;
dataGridView1.DataSource = Artikli; */

//nacin2:
ArtikliBL.Add(new Artikel("Prenosnik-b", 1, 777.70));



}

private void brisiToolStripMenuItem_Click(object sender, EventArgs e)
{
if (dataGridView1.Rows.Count > 0) //dataGridView1.RowCount - namesto dataGridView1.Rows.Count
{
DataGridViewSelectedRowCollection rows = dataGridView1.SelectedRows;
if (rows.Count > 1)
{
SortedList<int, int> slis = new SortedList<int, int>();
foreach (DataGridViewRow p in rows)
{
int index = p.Index;
slis.Add(index, index);
}
IEnumerable<KeyValuePair<int, int>> revlist = slis.Reverse();

foreach(KeyValuePair<int, int> kvp in revlist)
{
Artikli.RemoveAt(kvp.Key);
}

}
else
{
int index = dataGridView1.CurrentRow.Index;
Artikli.RemoveAt(index);
}
}

dataGridView1.DataSource = null;
dataGridView1.DataSource = Artikli;
}
}
}
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    c# Seznam forumov -> iseesharp Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu


MojForum.si - brezplačno gostovanje forumov. Powered by phpBB 2.