načítání dat z databáze   zodpovězená otázka

ASP.NET WebForms

Mám takovou prosbu, načítám normálně data z databáze pomocí:

 Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim con As SqlConnection
        Dim ada As SqlDataAdapter
        'Dim dst As DataSet
        Dim dst As DataTable
        con = New SqlConnection("Data Source=jmeno_sql_serveru;Initial Catalog=jmeno databaze;User ID=user; Password=password;")
        ada = New SqlDataAdapter("select * from jmeno_table where [partno] like '" + TextBox2.Text + "%'", con)
        'dst = New DataSet
        dst = New DataTable
        con.Open()


        'ada.Fill(dst, "Zaci")
        ada.Fill(dst)
        con.Close()

Na začátku filtruju...ale to neřešme.

V tomto kódu používám proměnnou dst jako typ table. Nevím zda je to správně, nebo má spíš někdo jiný návrh,co je nejjednoduší použít za typ. GridView znám,ale třeba je ještě něco lepšího. Totiž chtěl bych tyto data co načtu zobrazovat v jiném pořadí, než příjdou z databáze. GridView je pouze tupe zobrazi a to nechci.Zkratka a dobře přidat sloupce třeba doprostřed mezi načtené (mám z databáze načteno 10 sloupců)-přidat sloupec mezi 6 a 7 sloupec a potom ještě řádky nakonec. Vím že potom není problém z datatable do gridview,ale tak se raději ptám. Hlavně jsem zatím nevyřešil tu záměnu sloupců a přidávání. Že by to šlo nějakým sql dotazem?

Díky za informace co kdo navrhne.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Tohle všechno samozřejmě GridView umí, podívejte se do tutoriálu ASP.NET na tomto webu a pořádně si ho přečtěte, pořadí sloupců případně vlastní sloupce se dají snadno naklikat.

Pokud chcete jiné pořadí, můžete ho specifikovat přímo na úrovni databáze, pokud jsou to nějaká složitější kritéria, tak buď se dá přepsat třídění přímo v GridView, anebo si prostě data z DataTable vytahejte a naplňte s nimi vlastním kódem komponentu Table. Myslím, že ale GridView umí všechno, co potřebujete, akorát o tom nevíte.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Dobře,pokud to najdu v tutorialu,tak díky.Pokud ne,bylo by dobré udělat nějaký příklad.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Najdete to, je to třeba v posledním dílu. V Design režimu si na GridView kliknete, rozbalíte jeho paletku, a kliknete na Edit Columns. V okně, které se objeví, už si sloupečky a jejich pořadí můžete naklikat.

Přidejte tam několik sloupců BoundField a nastavte jim vlastnosti HeaderText (text v záhlaví) a DataField (název sloupce, který se v nich má zobrazit).

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Tady nemůžeš prohlašovat o GridView, že je tupé.

Tupí jsme my, amatéři, víš?;-))

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback