NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Frantisek Jesatko:12.7.2017 21:23

Ahoj , mám dotaz k napojení datagrid na data. Vytvářím databazovou aplikaci pomocí linqtosql. Vyberu ze zdroje data a uložím je do kolekce List tu potom napojim pres datasource gridu a data jsou vidět pohoda. Jak ale udělat to aby jednotlivé sloupce šli přeřadit ? Pravděpodobně z listu napojit každý sloupec ?
Díky

 
Odpovědět
12.7.2017 21:23
Avatar
Odpovídá na Frantisek Jesatko
Michal Štěpánek:13.7.2017 7:42

Řazení podle sloupců by mělo jít normálně, je to vlastnost toho DataGridu

Nahoru Odpovědět
13.7.2017 7:42
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Frantisek Jesatko:13.7.2017 8:42

Asi jsem se špatně vyjadřil jde mi o to když kliknu na hlavičku sloupce tak se položky seřadí podle kriteria. Myslím že toto je taky vlastnost gridu ale nevim jak ji aktivovat.
Diky

 
Nahoru Odpovědět
13.7.2017 8:42
Avatar
Odpovídá na Frantisek Jesatko
Michal Štěpánek:13.7.2017 9:07

Nikdy jsem nepotřeboval nic aktivovat, to řazení mi šlo vždycky automaticky samo...
Používám na data kolekci ObservableCollec­tion (podle místního tutoriálu)

Editováno 13.7.2017 9:08
Nahoru Odpovědět
13.7.2017 9:07
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Frantisek Jesatko:13.7.2017 9:42

Hm to je hezky nicmene pri napojeni na list kolekci to nejede . A pri pouziti linq je list tak trochu nejjednodussi reseni . Mozna se to jinak chova pri napojeni do pole .

 
Nahoru Odpovědět
13.7.2017 9:42
Avatar
Odpovídá na Frantisek Jesatko
Michal Štěpánek:13.7.2017 10:03

Trošku mi to připadá, že mícháš různé věci dohromady. "Použití linq" je jen způsob, jak dostat data do kolekce. Jestli je to jen List nebo ObservableCollec­tion je přeci úplně šumák. Samotné napojení DataGridu na kolekci máš provedeno jak? Ukaž nějaký kód, ať se hneme z místa...

Nahoru Odpovědět
13.7.2017 10:03
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Frantisek Jesatko:13.7.2017 10:06

Nic složiteho

var qry2 = from z in db.Zasahs
                              from k in db.Adresars
                              from u in db.Uzivateles
                              where (z.pro_technika.Trim() == xxx || z.sdileno.Trim() == xx) && z.id_zakaznika == k.ico && z.id_uzivatele == u.Id && z.datum.Value.Year == rok
                              orderby z.datum descending
                              select new { z.id_zasahu, z.datum, k.nazev, z.pro_technika, z.popis_zavady, z.poslan_vykaz, z.fakturovano, z.fakturovany_dily, z.stav, z.sdileno, z.upraveno, z.vytvoreno };

                   grd_zasahy.DataSource = qry2.ToList();
 
Nahoru Odpovědět
13.7.2017 10:06
Avatar
Frantisek Jesatko:15.7.2017 9:22

Tak jsem vyzkoušel napojeni pres tableAdapter a tam vše jede normálně tak je pravděpodobně problém někde v kolekci list . Pročetl jsem už kde co ale výsledek 0.

 
Nahoru Odpovědět
15.7.2017 9:22
Avatar
Frantisek Jesatko:29.7.2017 23:45

Tak konečně jsem našel řešení tady ho nabízím :

BindingSource b = new BindingSource();
                 b.DataSource = from z in db.Zasahs
                             from k in db.Adresars
                             from u in db.Uzivateles
                             where z.id_zakaznika == k.ico && z.id_uzivatele == u.Id
                             orderby z.datum descending
                             select new { z.id_zasahu };

                   grd_zasahy.DataSource = b;

Pokud se pro získání dat z db používá LinqtoSql nbízí se možnost připojit data do datagrid kolekcí List. Bohužel při tomto způsobu nefunguje řazení záznamů po kliknutí na hlavičku sloupce. Pokud se použije tato možnost řazení funguje.

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
29.7.2017 23:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.