» »

C# Problem

C# Problem

TehDucky ::

Imam beležnico v kateri so podatki po sistemu: IME|VRSTA|CENA sedaj pa bi rad te podatke spravil v obrazec na katerem je za ime combobox za vrsto prav tako combobox za ceno pa je textbox, ki se nanaša na vrsto.

Nevem kako bi prišel do izpisa cene glede na izbiro v comboboxu 2.

Edit: Ali je možno v datagrid združiti celice ampak ne, da eno povečaš ampak, da se združi tako s pluskom jih odpreš z minusom pa zapreš kot datoteke v raziskovalcu, ko je ob strani, da ti pokaže vsebino mape.
  • spremenil: TehDucky ()

japol ::

Poglej če ti to prou pride, je za textboxe in preko gradnika openfiledialog:
mal prebeksli kodo pa bo.

//1. primer podatkov je v vrstici:
private void button20_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();

openFileDialog1.InitialDirectory = "D:\\";
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
using (StreamReader reader = File.OpenText(openFileDialog1.FileName))
{
//string fileName = saveFile1.FileName;

char[] sep = new char[2];
sep[0] = '\n';
sep[1] = '\r';
string[] lines = System.IO.File.ReadAllText(openFileDialog1.FileName, System.Text.Encoding.Default).Split(sep, System.StringSplitOptions.RemoveEmptyEntries);

char[] seps = new char[1];
seps[0] = ',';
for (int i = 0; i < lines.Length - 1; i++)
{
string[] data = lines[0].Split(seps, System.StringSplitOptions.RemoveEmptyEntries);
textBox11.Text = data[0];

string[] data1 = lines[1].Split(seps, System.StringSplitOptions.RemoveEmptyEntries);
//textBox11.Text = data1[0];
//lahko je tudi:
// textBox1.Text = data[0]+",";
textBox12.Text = data1[1];
textBox13.Text = data1[2];
textBox14.Text = data1[3];
textBox15.Text = data1[4];
textBox16.Text = data1[5];
textBox17.Text = data1[6];
textBox18.Text = data1[7];
textBox19.Text = data1[8];
}
}
}

//2. primer: vsak podatek je v svoji vrstici:
private void button18_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();

openFileDialog1.InitialDirectory = "D:\\";
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
using (StreamReader reader = File.OpenText(openFileDialog1.FileName))
{
//MessageBox.Show("Vsebina je:" + reader.ReadLine());
textBox11.Text = reader.ReadLine();
textBox12.Text = reader.ReadLine();
textBox13.Text = reader.ReadLine();
textBox14.Text = reader.ReadLine();
textBox15.Text = reader.ReadLine();
//textBox15.Text = reader.ReadLine() + Environment.NewLine;
reader.ReadLine(); // ta prebere prazno vrstico ampak je ne da nikamor!!!!
textBox16.Text = reader.ReadLine();
textBox19.Text = reader.ReadLine();
textBox18.Text = reader.ReadLine();
textBox17.Text = reader.ReadLine();
}
}

//če pa nočeš preko open file dialoga pa: ampak prebere po vrsticah

private void button13_Click (object sender, EventArgs e)
{
//TextFile1.txt je ime tvojga fajla
using (StreamReader reder = File.OpenText(@"D:\TextFile1.txt"))
{
textBox1.Text = reader.ReadLine();
textBox2.Text = reader.ReadLine();
}
}

Mam kr precej tega materiala, sm zaenkrat sam to najdu, ko pa še kej najdem pa ti odgovorim tut za comboboxe in datagrid. Maš bazo podatkov v beležnici? jst navadno to delam v excelu, sej pristop je enak

Sportmania ::

Zanimivo tudi sam čakam na nadalnji odgovor.


Zgodovina sprememb…

TehDucky ::

Aja imam v beležnici ja kaj je pa boljše, če je v exelu verjetno kaj hitreje glede na je Microsoft? Sicer bom pregledal kodo hvaležen pa ti bom za vsak nadaljni podatek. HVALA!

DubleG ::

Zakaj ne uporabljaš XMLa?

Dostop do podatkov je zelo enostaven.
GA-P55M-UD2,i5,12GB RAM,Radeon HD 4850,Crucial SSD 64GB,
WD 320GB,WD 5000GB,RevoDrive X2 100GB

c00L3r ::

Zgradiš si objektni model podatkov, potem pa zbirko vrhnjih elementov serializiraš v XML datoteko. Ko bi rad spet prebral podatke izvedeš deserializacijo iz XML-a.

Pa se ne rabiš ukvarjat z "logiko" zapisa v datoteko.

Sportmania ::

Kaj lahko malo poenostaviš, da bomo še ostali razumel?


DubleG ::

Ok, glede na to da ne poznaš serializacije... Mogoče bi bilo dobro da začneš s tem

http://devhood.com/tutorials/tutorial_d...

potem pa s tem
http://www.lakos.fs.uni-lj.si/projektpr...

In poglej še XPATH, pa boš z lahkoto pobiral podatke...
GA-P55M-UD2,i5,12GB RAM,Radeon HD 4850,Crucial SSD 64GB,
WD 320GB,WD 5000GB,RevoDrive X2 100GB

c00L3r ::

Če prav razumem imaš ti neke izdelke/artikle, kateri imajo 3 vrednosti ime, vrsta in cena? V tem primeru narediš nov razred izdelek, ki vsebuje te 3 atribute. Nato vse objekte tega tipa shraniš v List. Ta List pa potem shraniš v datoteko XML.
Tukaj imaš primer zgoraj opisanega. S to razliko, da ta primer shranjuje filme, ki imajo atribute naslov, ocena (vrsta) in datum izida.

Sportmania ::

In kako bo to pol zgleda v xml oz. zakaj hočte xml naj, da kdo kako sliko kako zgleda xml?


japol ::

Tudi moj drugi predlog bi bil .xml kej je tut prpavna zadeva.

zgleda nekako tko:
http://www.cafeconleche.org/books/xmlja...
(drevesasta struktura) kot raziskovalec, kjer s klikom na "+" prikaže podmape
Uporabljajo ga igre, programi,... vzem to kot nek jezik k je vsem znan. Nisem pa prepričan, če bo to za tvoj primer dost pregledno. Sam uporabljam Excel, ker komurkoli pošljem, vsak bo vedu kaj delat, če acsess, že manj ljudi pozna, xml pa bi mogu povedat kako pisat, da bo delalo.

Odpreš beležnico in prva vrstica je "povsod enaka" glej link,... (je ne morem tu vpisat, ker mi forum ne dovoli)
poglej kako je označen začetek in konec
shema pa mora biti:
1
2
3
...
3
2
1
Shraniš kot .xml in odpreš ga v internetexplorerju. Tko na grobo povedano.
Priporočam ti, da v programu uporabiš shrani kot .xml, .txt,.... pa boš vidu za naslenjič kaj ti bolj ustreza.
Tako ko pa najdem svoj prier kode pa ti pošljem.

p.s. glej primer, ker ne dovoli objave nič kar je povezano z xml kodo. tko da če boš želel ti jo pošljem na zs al pa kam drugam....

Zgodovina sprememb…

  • spremenil: japol ()

Sportmania ::

A si uporabu značke najprej [ pol st.koda pa spet ] pa se za konc [ pa / pa st.koda]


DubleG ::

Kolikor vidim, tej nalogi enostavno ne boš kos, ker nimaš osnovnih pojmov razčiščenih. (Kako ne veš kaj je XML???)
GA-P55M-UD2,i5,12GB RAM,Radeon HD 4850,Crucial SSD 64GB,
WD 320GB,WD 5000GB,RevoDrive X2 100GB

joze67 ::

Pač ne ve, in za tole ne potrebuje. Bi bilo fancy, a ne potrebuje.

Enostavna rešitev: napišeš funkcijo, ki napolni combobox (najprej ga seveda sprazne) z elementi iz datoteke, in sicer če se vrstica na začetku ujema s podanim nizom, vrne naslednji argument.

Psevdokoda:
void fill(string pattern, combobox cb)
{
  cb.items.clear();
  while(read-next-line(line))
  {
      if (line.left(pattern.length)==pattern.length)
      {
        cb.items.add(line.substr(pattern.length+2, dolzina-do-naslednjega-|);
      }
  }
}


Potem daš to na combobox1 onchange:
void combobox1.onchange(...)
{
  fill(combobox1.text, combobox2);
}


in na combobox2.onchange

void combobox2.onchange(...)
{
  fill(combobox1.text + "|" + combobox2.text, combobox3);
}


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c#] shrani text, tabele, slike

Oddelek: Programiranje
251409 (1015) klemen93
»

c# tiho tiskanje slik.

Oddelek: Programiranje
101834 (1505) OmegaM
»

Silverlight

Oddelek: Programiranje
161629 (1286) hodor
»

C# - xml import v bazo

Oddelek: Programiranje
71356 (1174) nuclear
»

[VB] Open

Oddelek: Programiranje
71446 (1285) Monster

Več podobnih tem