ladowanie gridview z bazy danych poprzez linq

0

Moje pytanie dotyczy przekazywania danych z warstwy webservice do warstwy prezentacji:

  • pobieram dane do kolekcji
    var ww = from p in dc3.Osoby
    select new Osoba
    { imie = p.imie,
    nazwisko = p.nazwisko};
    return ww.ToList<Osoba>();

i dostaje taki blad gdy probuje to wstawic do datagrid

The data source for GridView with id 'GridView1' did not have any properties or attributes from which to generate columns. Ensure that your data source has content.

nie moge ustawic tabeli 'na sztywno' bo wstawiane sa tam rozne dane w zaleznosci od potrzeby
nie wierze ze nie ma zadnego prostego sposobu wstawienia tego do tableli, choc google mi ni pomogly...

please help ;-(

0

Cześć

Błąd pojawia się jeśli klasa (w typ przypadku Osoba) zawiera publiczne pola składowe zamiast właściwości. Innymi słowy pola nie są automatycznie rozpoznawane i należy je opakować we właściwości.

PS.

Po wpisaniu do Google treści komunikatu z błędem można znaleźć kilka stron z rozwiązaniem problemu.

0

The data source for GridView with id 'GridView1' did not have any properties or attributes from which to generate columns

czemu bylby taki komunikat, jesli 'publiczne pola skladowe'(=attributes) nie bylyby obslugiwane?

@autor - a sprawdzales czy to zapytanie w ogole zwraca cokolwiek? moze lista jest pusta i stad brak 'kolumn'

0

w webservice wszystko pieknie dziala

<arrayofosoby> − <osoba> <id>8</id> <nazwisko>DA21</nazwisko> <imie>7</imie> <osoba>

...

</arrayofosoby>

zwracam to do listy w webservice
lista.ToList<Osoba>() ale widze blad - do poziomu wyzej dochodzi to jako Osoba[] i nie moge wsadzic w GridView :( zada formatu IList - jak deklaruje IList webservice wyrzuca blad serializacji :( jak sobie z tym poradzic?

Ciekawe, ze jak zwracam 1 rekord wszystko smiga na List<Osoba> [???]

1 użytkowników online, w tym zalogowanych: 0, gości: 1