[ Valerij Zajcev @ 27.04.2010. 21:47 ] @
Kako moze da se u 'DataPropertyName ' postavi ime propertija, a da taj property pripada nekoj klasi unutar klase koja je source?
Jedini nacin koji sam ja nasao je da napravim 'Helper' property u klasi B i da iz njega vracam ono sto ima u objektu A. Deluje mi malo sugavo resenje, ali je funkcionalno, postoji li jos neki nacin?
Code:

public class A
{
      string propertyA1;
}


Code:

public class B
{
      string propertyB1;
      A prepertyA;
}

I sada trebam da prikazem podatke iz klase B u datagrid kontroli:
Code:

dgv.datasource = bObject;
dgv.DataPropertyName = "propertyB1";
dgv.DataPropertyName = "prepertyA.propertyA1"; // ovo nece da radi
[ Shadowed @ 27.04.2010. 23:06 ] @
Mislim da DataGrid ne moze prikazati property property-a (da se tako izrazim). Bar ne u WinForms. Binding u WPF-u moze.
[ lonelyrider_44 @ 27.04.2010. 23:52 ] @
Izvinjavam se ako sam pogreshno protumachio kod, ali chini mi se da je
propertyA1 privatan ? Naime, ne znam da li je ovo greshka ili si u ovom
primery bash hteo da se property polje zove "propertyA1" ili samo "A1".
Znachi ako je deklaracija "string property A1", onda sam pogreshno
protumachio. Ali ako je "string propertyA1", onda mislim da je pravo
pristupa private, ako nije recheno drugachije. Radim u vs2005 trenutno, pa
nisam siguran kako funkcionishe vs2008 i shta povlachi za sobom ta rech
"property", tj. da li je takva promenljiva po default-u public (trebalo
bi, private properties nemaju smisla :) ).



--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
[ Mikelly @ 28.04.2010. 07:23 ] @
DataPropertyName mora biti neko od 'polja' unutrasnje liste (BindingSource, DataTable, List, Array) datagridview-a. Kad u design modu podesis datasource, VS ti daje izbor samo onih polja koja postoje u tom datasource-u. Sto je i logicno, moras priznat. Sto ce da radi on sa tim novim poljem? Ne postoji u datasource-u, morao bi radit neka povezivanja. Sta ako lista objA ima razlicito elemenata od liste ObjB.

Ako zelis da prikazes nesto iz liste ObjB, onda radis autolookup preko DataGridViewComboBoxColumn kontrole, samo moras imat jedno polje identicno u oba objekta, nesto kao virtuelnu PK->FK relaciju. To je jedini nacin koji ja znam, i dosta fino funkcionise, pa ga zloupotrebljavam do maksimuma.

Mada si ti sa tom helper promjenljivom, koliko te razumijem, uradio skoro istu stvar.

Pozdrav.