Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

DataSet i BindingSource

[es] :: .NET :: .NET Desktop razvoj :: DataSet i BindingSource

[ Pregleda: 2249 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

perun85
Republika Srpska

Član broj: 185562
Poruke: 116
79.143.175.*



Profil

icon DataSet i BindingSource17.12.2008. u 14:18 - pre 186 meseci
U projektu na kome radim imam jednu statičku klasu u kojoj se nalazi statički objekat klase DataSet1 (DataSet1 je typed DataSet; ovo sam uradio jer želim da sa svih formi pristupam jednom idstom DataSet1 objektu).
Pošto sam do sada za povezivanje sa DataGridView objektom uglavnom koristio typed BindingSource, interesuje me
sledeće:

1. Postoji li način da iz kada setujem DataSource i DataMember svojstva BindingSourca?
2. Pomoću kog svojstva DataGridViewa i BindingSourca mogu podesiti koje će se kolone tabele koja je DataMember prikazati u DataGridViewu?

Ukoliko ne postoje konkretni odgovori na moja pitanja, bilo bi korisno kada bi me barem usmerili na pravi put.

Unapred hvala na odgovorima.
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
93.86.86.*



+987 Profil

icon Re: DataSet i BindingSource17.12.2008. u 19:28 - pre 186 meseci
Odgovor za drugo pitanje:


U komponenti dataGridView dodaj kolone koje hoces da prikazes, desni klik, Add Columns.

I zatim u konstruktoru klase mozes da napises:

Code:

dataGridView1.AutoGenerateColumns=false;   // sprecavas da dataGridView1 sam napravi kolone (tj. doda sve kolone)
dataGridView1.DataSource=BindingSource1;  // povezes sa data source

dataGridView1.Columns["Column1"].DataPropertyName = "Kolona1";  // povezujes odgovarajuce kolone u dataGridView i u odgovarajucoj tabeli
dataGridView1.Columns["Column2"].DataPropertyName = "Kolona2";
dataGridView1.Columns["Column3"].DataPropertyName = "Kolona3";

 
Odgovor na temu

perun85
Republika Srpska

Član broj: 185562
Poruke: 116
79.143.175.*



Profil

icon Re: DataSet i BindingSource17.12.2008. u 19:36 - pre 186 meseci
Hvala puno na odgovoru.
 
Odgovor na temu

perun85
Republika Srpska

Član broj: 185562
Poruke: 116
79.143.175.*



Profil

icon Re: DataSet i BindingSource17.12.2008. u 20:21 - pre 186 meseci
Probao sam da to uradim pomocu ovog koda, no nisam uspeo. Dobijem prikaz dataGridView i samih kolona no u njima nema podataka koji se nalaze u bazi.

Da li se ovo desava zbog toga sto koristim kao DataSource polje staticke klase?
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
93.86.86.*



+987 Profil

icon Re: DataSet i BindingSource17.12.2008. u 20:50 - pre 186 meseci
Code:


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

namespace Test2
{
    public partial class Form1 : Form
    {
        private DataTable Tabela;
        private BindingSource bs;
        public Form1()
        {
            InitializeComponent();
            Tabela = new DataTable();
            bs = new BindingSource();

            Tabela.Columns.Add("Prva", typeof(string));
            Tabela.Columns.Add("Druga", typeof(string));
            Tabela.Columns.Add("Treca", typeof(string));
            Tabela.Columns.Add("Cetvrta", typeof(string));

            Tabela.Rows.Add(new object[] {"1","2","3","4" });
            Tabela.Rows.Add(new object[] { "10", "20", "30", "40" });
            Tabela.Rows.Add(new object[] { "100", "200", "300", "400" });
            Tabela.Rows.Add(new object[] { "1000", "2000", "3000", "4000" });

            bs.DataSource = Tabela;
            dataGridView1.AutoGenerateColumns = false;
            dataGridView1.DataSource = bs;

            dataGridView1.Columns["Column1"].DataPropertyName = "Prva";
            dataGridView1.Columns["Column2"].DataPropertyName = "Druga";
            dataGridView1.Columns["Column3"].DataPropertyName = "Cetvrta";
        }
    }
}



Ovaj kod sigurno radi i prikazuje samo prvu ,drugu i cetvrtu kolonu. Pogledaj gde gresis.
 
Odgovor na temu

perun85
Republika Srpska

Član broj: 185562
Poruke: 116
79.143.175.*



Profil

icon Re: DataSet i BindingSource17.12.2008. u 21:23 - pre 186 meseci
Tvoj kod radi, no problem je u tome sto ja ne mogu da procitam podatke iz DataSeta koji je polje u statickoj klasi. Da bude malo jasnije evo i koda.

bs.DataSource = Class1.ds; (pomenuta klasa i njeno DataSet polje)
bs.DataMember = "Proizvod"; (naziv proizvoda)

dalje ide kod koji dodaje kolonu u dataGridView1 i sledi povezivanje te kolone sa poljem idProizvoda koje se nalazi u proizvod tabeli DataSeta ds

dataGridView1.Columns["Column1"].DataPropertyName = "idProizvoda";

Kada izvrsim ovaj kod dobijem DataGridView sa jednom kolonom koja je prazna, dok se u bazi nalazi vec odredjeni broj proizvoda.
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
93.86.86.*



+987 Profil

icon Re: DataSet i BindingSource17.12.2008. u 21:40 - pre 186 meseci
Jedno pitanje. A da li si negde u kodu uradio:

AdapterTabeleProizvodi.Fill(ds);

Tj. da li si uopste procitao podatke iz baze, pa povezao sa gridom ?
 
Odgovor na temu

perun85
Republika Srpska

Član broj: 185562
Poruke: 116
79.143.175.*



Profil

icon Re: DataSet i BindingSource17.12.2008. u 21:55 - pre 186 meseci
Dodao sam. Mozda sam napravio neku banalnu gresku, te cu ovo ostaviti za sutra kada se budem mogao vise koncentrisati na ovaj problem. Jos jednom hvala na pomoci.
 
Odgovor na temu

perun85
Republika Srpska

Član broj: 185562
Poruke: 116
79.143.175.*



Profil

icon Re: DataSet i BindingSource18.12.2008. u 12:26 - pre 186 meseci
Nazalost, moracu da izmenim logiku kojom pristupam bazi, jer izgleda da pristup koji sam ja zamislio nije moguc. Igore jos jednom hvala na objasnjenjima.

Pozdrav.
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: DataSet i BindingSource

[ Pregleda: 2249 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.