Novo

Forum kao aplikacija na telefonu

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

problem oko dodele vrednosti iz DataGrid-a na textboxove, comboboxove, picturebox

  • 4 odgovora
  • 3.671 pregleda

Najnovija ↓

problem oko dodele vrednosti iz DataGrid-a na textboxove, comboboxove, picturebox 10.03.2008. u 18:05 · pre 227 meseci #1
Da li neko moze da mi kaze sta ne valja u ovom kodu?
Code:

private void dgProdavac_Click(object sender, EventArgs e)
        {
            int indexG = this.BindingContext[this.dsProdavac1.Prodavac].Position;
            this.txtRB.Text = this.dsProdavac1.Prodavac.Rows[indexG]["RedniBroj"].ToString();
            this.txtIme.Text = this.dsProdavac1.Prodavac.Rows[indexG]["ImeProdavca"].ToString();
            this.txtPrezime.Text = this.dsProdavac1.Prodavac.Rows[indexG]["PrezimeProdavca"].ToString();
            this.txtAdresa.Text = this.dsProdavac1.Prodavac.Rows[indexG]["AdresaProdavca"].ToString();
            this.txtMesto.Text = this.dsProdavac1.Prodavac.Rows[indexG]["MestoProdavca"].ToString();
            this.cmbLokacija.Text = this.dsProdavac1.Prodavac.Rows[indexG]["LokacijaStana"].ToString();
            this.txtKvadratura.Text = this.dsProdavac1.Prodavac.Rows[indexG]["KvadraturaStana"].ToString();
            this.cmbStruktura.Text = this.dsProdavac1.Prodavac.Rows[indexG]["StrukturaStana"].ToString();
            this.txtAdresaStana.Text = this.dsProdavac1.Prodavac.Rows[indexG]["AdresaStana"].ToString();
            this.txtCena.Text = this.dsProdavac1.Prodavac.Rows[indexG]["CenaStana"].ToString();
            this.lblPutanja.Text = this.dsProdavac1.Prodavac.Rows[indexG]["SlikaStana"].ToString();

            if (this.lblPutanja.Text != "")
            {
                try
                {
                    string slika = this.lblPutanja.Text;
                    Image image = Image.FromFile(slika);
                    this.pictureBox1.Image = image;

                }
                catch
                {
                }
            }
            else
            {
                string putanja = Directory.GetCurrentDirectory();
                string slika = putanja + "\\Slike\\image.bmp";
                Image image = Image.FromFile(slika);
                this.pictureBox1.Image = image;
            }
            
        }

Klikom na neki red u gridu, ne reaguje na dodelu u tekstboxove, comboboxove i postavljanje slike u picturebox.
Re: problem oko dodele vrednosti iz DataGrid-a na textboxove, comboboxove, picturebox 10.03.2008. u 19:53 · pre 227 meseci #2
Pa za pocetak, zasto cupas vrednosti iz BindingContexta rucno? Sto jednostavno ne koristis data binding?
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: problem oko dodele vrednosti iz DataGrid-a na textboxove, comboboxove, picturebox 10.03.2008. u 20:15 · pre 227 meseci #3
Dobro ti je mmix rekao, ovo gore sto si nadodavao nikad ne bih ovako uradio, en samo sto mzoes i jednostavnije, nego zato sto si kao sto vidis sve uradio "HARD CODED", tako da ono to je prva stvar koju bih promenio, onda

Code:
 if (this.lblPutanja.Text != "")


navikni se koristiti

Code:
 if (this.lblPutanja.Text != [blue]String.Empty[/blue])


nije velika razlika, ali jeste ukoliko radis ovo non stop, moze da utice na performance... Svaki put kad uradis "" ti kreiras objekat, dok u sa String.Empty to nije slucaj. Ovo ti neke ugroziti bas toliko perfomansu, ali lepo je da se navikne ;)

Poz
Re: problem oko dodele vrednosti iz DataGrid-a na textboxove, comboboxove, picturebox 11.03.2008. u 01:45 · pre 227 meseci #4
Code:

private void dgProdavac_Click(object sender, EventArgs e)
        {
            
            try
            {
                txtRB.DataBindings.Add("Text", dsProdavac1, "Prodavac.RedniBroj");
                txtIme.DataBindings.Add("Text", dsProdavac1, "Prodavac.ImeProdavca");
                txtPrezime.DataBindings.Add("Text", dsProdavac1, "Prodavac.PrezimeProdavca");
                txtAdresa.DataBindings.Add("Text", dsProdavac1, "Prodavac.AdresaProdavca");
                txtMesto.DataBindings.Add("Text", dsProdavac1, "Prodavac.MestoProdavca");
                cmbLokacija.DataBindings.Add("Text", dsProdavac1, "Prodavac.LokacijaStana");
                txtKvadratura.DataBindings.Add("Text", dsProdavac1, "Prodavac.KvadraturaStana");
                cmbStruktura.DataBindings.Add("Text", dsProdavac1, "Prodavac.StrukturaStana");
                txtAdresaStana.DataBindings.Add("Text", dsProdavac1, "Prodavac.AdresaStana");
                txtCena.DataBindings.Add("Text", dsProdavac1, "Prodavac.CenaStana");
                lblPutanja.DataBindings.Add("Text", dsProdavac1, "Prodavac.SlikaStana");
                dgProdavac.DataSource = dsProdavac1.Tables[0].DefaultView;
                if (this.lblPutanja.Text != String.Empty )
                {
                    try
                    {
                        string slika = this.lblPutanja.Text;
                        Image image = Image.FromFile(slika);
                        this.pictureBox1.Image = image;

                    }
                    catch
                    {
                    }
                }//if
                else
                {
                    string putanja = Directory.GetCurrentDirectory();
                    string slika = putanja + "\\Slike\\image.bmp";
                    Image image = Image.FromFile(slika);
                    this.pictureBox1.Image = image;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            
        }

Posto jos uvek ne razumem dobro C# programiranje, da li ste mislili na ovako nesto?
Ja sam probala ali ne prvi red koji odaberem prikaze podatke u boxove, a svaki sledeci prijavljuje gresku.
Gde gresim?
Re: problem oko dodele vrednosti iz DataGrid-a na textboxove, comboboxove, picturebox 15.03.2008. u 12:14 · pre 226 meseci #5
Na dobrom si putu...

Ovaj dio sa DataBindings moras izvadit izvan click dogadjaja grida, npr. u Form_Load dogadjaj.

Jer ne mozes dva puta vezat neko polje tabele na isto svojstvo TextBox-a ("Text" u tvom slucaju), mozes na neko drugo svojstvo (recimo "Name", mada to nema mnogo smisla), pa ti zbog toga prijavljuje gresku kad drugi put kliknes u grid.

U click dogadjaj ostavi samo onaj dio dje ucitavas sliku.

E sad, pretpostavljam da je tvoj datagridview vezan na "dsProdavac1" (DataSource = dsProdavac1, DataMember = "Prodavac"). Ako je tako, kada klinknes na neki red grida, dobices odgovarajuce podatke u TextBox-ovima.

Jer sustina je da DataSource svojstva kontrola koja se automatski sinhronizuju budu ista (drugi argument tvoje Add metode i DataSource svojstvo grida).

I pogledaj BindingSource klasu, olaksace ti stvari...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme