![c# Seznam forumov](templates/subSilver/images/logo_phpBB.gif) |
c# c#
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 12:28 Naslov sporočila: Vaja 10 – Artikli |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 12:29 Naslov sporočila: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 12:30 Naslov sporočila: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
|
|
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
|
|