Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 46 odgovora
  • 13.225 pregleda

Najnovija ↓

Re: Menjanje podataka u datagridview 23.07.2014. u 13:54 · pre 149 meseci #21
Poceo sam koristit nesto od klasa,za prenos vrednosti do druge forme......evo koristim ovaj kod,i on sljaka....znaci otvori drugu formu i popuni textbox


int i;
i = dataGridView1.SelectedCells[0].RowIndex;

FrmUnos unos = new FrmUnos();
unos.BrojOvlascenja = dataGridView1.Rows.Cells[0].Value.ToString();
unos.Naziv = dataGridView1.Rows.Cells[1].Value.ToString();
unos.Adresa = dataGridView1.Rows.Cells[2].Value.ToString();
unos.OvlLica = dataGridView1.Rows.Cells[3].Value.ToString();
unos.reon = dataGridView1.Rows.Cells[8].Value.ToString();
unos.Posta = dataGridView1.Rows.Cells[9].Value.ToString();
unos.Telefon = dataGridView1.Rows.Cells[11].Value.ToString();
unos.BrojFaha = dataGridView1.Rows.Cells[6].Value.ToString();
unos.DatumOd = dataGridView1.Rows.Cells[4].Value.ToString();
unos.DatumDo = dataGridView1.Rows.Cells[5].Value.ToString();
tabela();
unos.button1.Visible = false;
unos.Show();


I sada kada treba da odradim iz druge forme izmenu datagrida i baze...nesto nece......
Re: Menjanje podataka u datagridview 23.07.2014. u 16:01 · pre 149 meseci #22
Probaj da staviš umesto .Show() da bude .ShowDialog().

Ako to ne pomogne, pastuj taj kod koji upisuje u bazu.
Re: Menjanje podataka u datagridview 23.07.2014. u 16:18 · pre 149 meseci #23
Sta podrazumevas pod refresh-ovanjem grid-a? Ako mislis da time ucita sve podatke koji se prikazuju u njemu iz baze, za tim jednostavno nema potrebe.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Menjanje podataka u datagridview 23.07.2014. u 16:42 · pre 149 meseci #24
Citat:
Shadowed: Sta podrazumevas pod refresh-ovanjem grid-a? Ako mislis da time ucita sve podatke koji se prikazuju u njemu iz baze, za tim jednostavno nema potrebe.


Da, mislio sam na učitavanje podataka iz baze. Pa daj bolje rešenje, refresh se prosto programira a i može dobro da posluži ako je neko drugi nešto menjao pa da se vide dobri podaci.
Re: Menjanje podataka u datagridview 23.07.2014. u 17:36 · pre 149 meseci
izmenjeno 1 put, poslednji put popmilan76 24.07.2014. u 09:09
  1. popmilan7624.07.2014. u 09:09zapis iz teksta poruke
#25
Uspeo sam delimicno,i ne znam jel i najzgodnije resenje,sada mi izmeni bazu,ali promenu u datagrid prve forme,vidim tek kada izadjem u nju,pa se vratim.....
Evo koda za izmenu,tj update polja(ovde sam stavio samo jedno polje da mi promeni....


private void button3_Click(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\\BazaPunomoci.mdb");
conn.Open();
FrmIzmena izmena = new FrmIzmena();


izmena.redbr();
{
FrmUnos unos = new FrmUnos();


if (textBox3.Text == "")
{ }


else
{
id = label11.Text;
sqlQRY = "Update Baza SET Baza.BrojPunomoci = '" + textBox1.Text + "' WHERE Baza.RedBr = " + id + "";
cmd.CommandText = sqlQRY;
cmd.Connection = conn;
cmd.ExecuteNonQuery();

MessageBox.Show("Updated!");

}
}



conn.Close();

Close();
Re: Menjanje podataka u datagridview 24.07.2014. u 10:54 · pre 149 meseci #26
Citat:
S A J A:
Da, mislio sam na učitavanje podataka iz baze. Pa daj bolje rešenje, refresh se prosto programira a i može dobro da posluži ako je neko drugi nešto menjao pa da se vide dobri podaci.

Pa, dovoljno je da osvezi taj jedan red odmah tu. Nema smisla dovlaciti gomilu podataka zbog jednog reda.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Menjanje podataka u datagridview 24.07.2014. u 11:46 · pre 149 meseci #27
Ono sto mi treba jeste kako da stavim datagrid na public,ili da na toj prvoj formi,odradim datagrid kao refresh,ili da rafreshujem konekciju celu.....
Re: Menjanje podataka u datagridview 24.07.2014. u 12:20 · pre 149 meseci #28
Uradi ShowDialog umesto Show a nakon te linije, proveri da li je DialogResult OK (sto ce reci da si kliknuo OK a ne Cancel) i onda uradi obrnutu stvar od ovog:

Citat:
popmilan76:
unos.BrojOvlascenja = dataGridView1.Rows[i].Cells[0].Value.ToString();
unos.Naziv = dataGridView1.Rows[i].Cells[1].Value.ToString();


i dobices update-ovano u gridu. A zasebno snimi u bazu. I ne moras bez potrebe da dovlacis sve podatke (zapravo ni jedan).
E, druga je stvar sto bi grid trebao da ti pokazuje podatke iz liste objekata koje si popunio iz baze. Onda bi u toj details formi promenio objekat i automatski bi ti se promenio u gridu (morao bi da implementiras INotifyPropertyChanged).
E sad, da li ti je to vredno cimanja, to je vec drugo pitanje :) Kad steknes rutinu, onda nije problem to uraditi ni za manje projekte a rutinu ces steci ako se iscimas nekoliko puta vise nego sto je potrebno.

Preporuceni nacin rada ces najlakse postici koriscenjem MS SQL-a umesto Access-a i EntityFramework-om ili Linq2Sql-om za kreiranje klasa i komunikaciju sa bazom.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Menjanje podataka u datagridview 25.07.2014. u 00:00 · pre 149 meseci #30
Ili da napravim public void osvezi() u prvoj formi,pa da ga pozovem iz druge forme,jel to moze tako nekako...
Re: Menjanje podataka u datagridview 25.07.2014. u 22:28 · pre 149 meseci #31
Napravio sam neku osvezi funkciju u prvoj formi....

public void osv()
{
string query = "SELECT * FROM Baza";

conn.Open();
{
using (OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn))
{
try
{

DataSet ds = new DataSet();
ds.Clear();
adapter.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
}
finally
{
conn.Close();
}

}



}
Zatim otvorim drugu formu(ova prva je i dalje vidljiva u pozadini)...i posle izmena,stavim i izmena.osv().....pa close()...i neizmeni datagrid....Zaasto?Gde gresim?
Re: Menjanje podataka u datagridview 30.07.2014. u 00:19 · pre 149 meseci #32
Da iskoristim ovu temu......Kako da izvucem vrednost selektovanog reda u datagrid i da tu vrednsot prebacim u drugu formu ili cristal report.....Da li to moze sa public datagridview dgv {get;set:} ili nekako drugacije......
Re: Menjanje podataka u datagridview 30.07.2014. u 18:22 · pre 149 meseci #34
Ne znam za CR ali MS Reporting ne može da vuče vrednosti iz aplikacije već se direktno povezuje na bazu pa odatle izvlači. Moguće i da CR radi na sličnom principu.
Re: Menjanje podataka u datagridview 31.07.2014. u 12:39 · pre 149 meseci #37
Odradio sam tako sto sam stavio jedan textbox na formu gde je crzstal report,i u njega mi vuce recno iz druge forme,a u formu gde je cp sam stavio sql gde je select * from nesto where RedBr = " + textbox1.text + "..i taj textbox sam stavio visible false....Drugacije mi ne pada na pamet,niti znam
Re: Menjanje podataka u datagridview 31.07.2014. u 21:23 · pre 149 meseci #38
Citat:
popmilan76: Odradio sam tako sto sam stavio jedan textbox na formu gde je crzstal report,i u njega mi vuce recno iz druge forme,a u formu gde je cp sam stavio sql gde je select * from nesto where RedBr = " + textbox1.text + "..i taj textbox sam stavio visible false....Drugacije mi ne pada na pamet,niti znam


Nije mi baš jasno šta si hteo da postigneš ali ovo mi nekako deluje kao karabudževina...
Ne bi trebalo na takav način da "prebacuješ" podatke od forme do forme. Koristi bazu koja će držati podatke pa onda možeš da ih koristiš iz bilo koje forme i/ili koristi neke zajedničke klase/promenljive pa u njih trpaj sve što ti treba dok aplikacija radi.

Što se tiče reportinga, ja sam već pisao o njemu u ovoj poruci. Pogledaj čisto da bi razumeo kako to funkcioniše, verovatno je kod Crystal Reportsa to slično.

Re: Menjanje podataka u datagridview 01.08.2014. u 10:59 · pre 149 meseci #39
Jeste karabudzevina,ali sta da radim,kada sve mora da ide preko dataseta(access baza),i ja sam osmislio da to ide prek RedBr(autonumber)...posto vec ne moze da bude preko selekcije sa datagrid,ja bih to najvise voleo....obelezim polje u datagrid i pojavi mi se ti podaci u reportu,ali to ne znam...
Re: Menjanje podataka u datagridview 01.08.2014. u 12:04 · pre 149 meseci #40
Nešto ne radiš kako treba. Problem je u koncepciji. Odakle dolaze ti podaci iz grida? Verovatno se vuku iz baze. E pa, kad povučeš te podatke iz baze u grid, i kad ti podaci trebaju na raznim mestima u aplikaciji onda ih na svakom tom mestu opet povlačiš iz baze. Loša ti je varijanta da podatke iz grida posle šetaš po formama i kontrolama da bi ih koristio. Svaki put kad ti treba neki podatak obratiš se direktno izvoru, tj. bazi gde stoje podaci. Znači grid učitava podatke iz baze, forma za edit učitava podatke iz baze i upisuje u bazu, reporting isto čita podatke iz baze i tako dalje. Svi oni rade sa bazom a ne tako što međusobno jedni drugima prosleđuju podatke.

Ovo što sam napisao je generalni koncept, sad tu postoje razne varijacije. Da ne bi često pristupao bazi i u zavisnosti od potrebe možeš da ih držiš u memoriji (u nekim klasama ili promenljivima). Ja sad kod pristupa bazi koristim Entity Framework a radnije sam koristio DataSet i one adaptere. Koliko se sećam, dataset je pravio "kopiju" baze u lokalu, znači mogao si da učitaš celu tabelu u lokal pa posle da koristiš te podatke iz lokalne baze, čak i da menjaš šta hoćeš, a onda pustiš komandu da se to sinhronizuje sa pravom bazom. Iskoristi onda tu prednost DataSeta. Kad treba da se prikaže grid, ti učitaj prvo podatke u DataSet, onda za sve ostalo koristi te iste podatke iz dataseta. I reporting isto može da se "napuni" iz lokalnog dataseta, ne mora direktno iz baze. Samo povremeno puštaj "update" komandu kako bi prava baza držala korak sa izmenama koje radiš u memoriji.

Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme