🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
11 messages
11 total messages Started by StriKe Sun, 23 Apr 2006 10:37
VB.NET: Column in datagrid verbergen
#859
Author: StriKe
Date: Sun, 23 Apr 2006 10:37
49 lines
2613 bytes
Hallo,

Ik heb in een VB.NET applicatie een Datagrid waarin gegevens vanuit een 
database worden geladen.

De code is deze:

str = "select g.id as 'Id', c.omschrijving as 'Categorie', 
g.categorieId, g.omschrijving as 'Genre'" _
            & "from tblGenre g " _
            & "left join tblCategorie c on " _
            & "g.categorieId = c.id " _
            & "order by g.omschrijving"

        tabel = laadGegevens(str).Tables("gegevens")
        TdgGenres.DataSource = tabel

laadGegevens is een functie die er zo uitziet:

Public Function laadGegevens(ByVal s As String) As DataSet

        Dim cnn As New 
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
                                        & vars.db)

        Dim socket As New OleDbDataAdapter(s, cnn)
        Dim ds As New DataSet
        socket.Fill(ds, "gegevens")
        cnn.Close()
        Return ds

    End Function


Zoals je uit mijn query string kunt zien heb ik een viertal velden die 
geselecteerd worden. Nu had ik echter graag gezien dat het derde veld 
(g.categorieId) niet voorkwam in de Datagrid.
(Dit dient enkel ter verwijzing van een FK naar een andere tabel).

Iemand enig idee hoe ik dit kan bekomen in VB.NET? (Niet in AsP.Net 
dus...)

Hartelijk dank!

-- 
Groeten,
StriKe

http://www.internetfreakz.be
Re: VB.NET: Column in datagrid verbergen
#860
Author: Bart
Date: Sun, 23 Apr 2006 14:44
21 lines
1872 bytes
StriKe wrote:
> Hallo,
> 
> Ik heb in een VB.NET applicatie een Datagrid waarin gegevens vanuit een 
> database worden geladen.
> 
<knip>
> Zoals je uit mijn query string kunt zien heb ik een viertal velden die 
> geselecteerd worden. Nu had ik echter graag gezien dat het derde veld 
> (g.categorieId) niet voorkwam in de Datagrid.
> (Dit dient enkel ter verwijzing van een FK naar een andere tabel).
> 
> Iemand enig idee hoe ik dit kan bekomen in VB.NET? (Niet in AsP.Net dus...)
> 
> Hartelijk dank!
> 

Kan je die kolom niet op kolombreedte 1 of 0 zetten ? Zo doe ik het in 
een Flexgrid in vb 6...

Bart
Re: VB.NET: Column in datagrid verbergen
#861
Author: StriKe
Date: Sun, 23 Apr 2006 16:24
49 lines
2542 bytes
> Kan je die kolom niet op kolombreedte 1 of 0 zetten ? Zo doe ik het in een 
> Flexgrid in vb 6...
>
> Bart

Ik heb uiteindelijk iets gevonden die het zou moeten kunnen maar...

sql = "select g.id as 'Id', c.omschrijving as 'Categorie', " _
      & "g.omschrijving as 'Genre', g.categorieId " _
      & "from tblGenre g " _
      & "left join tblCategorie c on " _
      & "g.categorieId = c.id " _
      & "order by g.omschrijving"

tabel = laadGegevens(sql).Tables("gegevens")
tabel.Columns(0).ColumnMapping = MappingType.Hidden
TdgGenres.DataSource = tabel

Die voorlaatste regel zou er dus moeten voor zorgen dat Column 0 (hier 
dus g.id as 'Id' verborgen wordt.

Ik kreeg echter een Exception: ArgumentOutOfRangeException...

Nogtans als ik msgbox(tabel.Columns(0).ColumnName) deed kreeg ik de 
juiste columnname terug... (Daar had hij dus geen problemen met de 
'range')

overigens doet die functie laadGegevens het volgende:

Public Function laadGegevens(ByVal s As String) As DataSet
   Dim cnn As New 
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data    Source=" & 
vars.db)

   Dim socket As New OleDbDataAdapter(s, cnn)
   Dim ds As New DataSet

   socket.Fill(ds, "gegevens")
   cnn.Close()
   Return ds
End Function

Enige idee wat het probleem kan zijn?

-- 
Groeten,
StriKe

http://www.internetfreakz.be
Re: VB.NET: Column in datagrid verbergen
#862
Author: Steven Spits
Date: Mon, 24 Apr 2006 07:01
23 lines
1846 bytes
Hey,

> Zoals je uit mijn query string kunt zien heb ik een viertal velden die 
> geselecteerd worden. Nu had ik echter graag gezien dat het derde veld 
> (g.categorieId) niet voorkwam in de Datagrid.

Heb je het veld echt nodig in de DataTable? Je moet namelijk een veld niet 
opnemen in de SELECT om er op te kunnen joinen met een andere tabel!

Soit, als je het w�l nodig hebt :

tabel = laadGegevens(str).Tables("gegevens")
TdgGenres.DataSource = tabel
TgdGenres.Columns(3).Visible = false

Wat je ook kan doen is AutoGenerateColumns afzetten 
(TdgGenres.AutoGenerateColumns = false), en in de designer (of in de code) 
enkel de kolommen toevoegen die jij nodig hebt. Vind ik persoonlijker een 
mooiere oplossing, die nog tal van andere voordelen heeft.

Steven

- - -
Re: VB.NET: Column in datagrid verbergen
#864
Author: StriKe
Date: Mon, 24 Apr 2006 18:29
53 lines
3337 bytes
> Hey,
>
> Heb je het veld echt nodig in de DataTable? Je moet namelijk een veld niet 
> opnemen in de SELECT om er op te kunnen joinen met een andere tabel!
>
> Soit, als je het w�l nodig hebt :
>
> tabel = laadGegevens(str).Tables("gegevens")
> TdgGenres.DataSource = tabel
> TgdGenres.Columns(3).Visible = false
>
> Wat je ook kan doen is AutoGenerateColumns afzetten 
> (TdgGenres.AutoGenerateColumns = false), en in de designer (of in de code) 
> enkel de kolommen toevoegen die jij nodig hebt. Vind ik persoonlijker een 
> mooiere oplossing, die nog tal van andere voordelen heeft.
>
> Steven,

Ik denk die column inderdaad nodig te hebben. Het is namelijk een 
toepassing waarbij eerst gegevens uit een database in een datagrid 
gelezen worden. Daarna moet het ook mogelijk zijn om via textvelden in 
eerste instantie de datagrid aan te passen (de inhoud h�), daarna deze 
wijzigingen ook door te sturen naar de database.

Ik heb jouw voorstel in verband met het verbergen van de column 
geprobeerd maar Column is blijkbaar geen member van een DataGrid binnen 
VB.NET.

Ook de AutoGenerateColumns bestaat niet binnen VB.NET. (In ASP.NET 
bestaan die dacht ik wel h�, misschien was je hiermee in de war?)

Ik heb wel eens wat gezocht en uiteindelijk iets als dit gevonden:

Dim ts As New DataGridTableStyle
ts.MappingName = "gegevens"
TdgGenres.TableStyles.Add(ts)
TdgGenres.SetDataBinding(tabel, "gegevens")
TdgGenres.TableStyles("gegevens").GridColumnStyles.Remove(TdgGenres.TableStyles("gegevens").GridColumnStyles("Gid"))

Met deze code zou ik eventueel zelf ook de columnstyles kunnen 
aanmaken, alleen krijg ik dan deze foutmelding:
http://www.internetfreakz.be/default/screenshot.png

Misschien weet jij hier wel raad mee?

Groeten,
StriKe

-- 
Groeten,
StriKe

http://www.internetfreakz.be
Re: VB.NET: Column in datagrid verbergen
#868
Author: Steven Spits
Date: Wed, 26 Apr 2006 08:58
11 lines
1425 bytes
"StriKe" schreef:

> Ook de AutoGenerateColumns bestaat niet binnen VB.NET. (In ASP.NET bestaan 
> die dacht ik wel h�, misschien was je hiermee in de war?)

Nee, ik werkt met VS 2005, jij waarschijnlijk met 2002 of 2003. DataGrids in 
2005 zijn fel verbeterd tov de vorige versies.

Steven

- - -
Re: VB.NET: Column in datagrid verbergen
#872
Author: StriKe
Date: Wed, 26 Apr 2006 16:56
19 lines
1871 bytes
> "StriKe" schreef:
>
>> Ook de AutoGenerateColumns bestaat niet binnen VB.NET. (In ASP.NET bestaan 
>> die dacht ik wel h�, misschien was je hiermee in de war?)
>
> Nee, ik werkt met VS 2005, jij waarschijnlijk met 2002 of 2003. DataGrids in 
> 2005 zijn fel verbeterd tov de vorige versies.

Ik werk inderdaad met 2003 en weet ook dat er in 2005 tal van 
verbeteringen werden aangebracht maar het probleem is dat wij vanuit 
school verplicht zijn met 2003 te werken.

Is er iemand die me alsnog een oplossing kan aanbieden?

-- 
Groeten,
StriKe

http://www.internetfreakz.be
Re: VB.NET: Column in datagrid verbergen
#877
Author: Steven Spits
Date: Thu, 27 Apr 2006 08:34
12 lines
1696 bytes
Hey,

> Ik werk inderdaad met 2003 en weet ook dat er in 2005 tal van 
> verbeteringen werden aangebracht maar het probleem is dat wij vanuit 
> school verplicht zijn met 2003 te werken.

Straf, gezien er van VS 2005 een gratis versie is (Express-edition) en van 
VS 2003 niet.

Steven

- - -
Re: VB.NET: Column in datagrid verbergen
#705
Author: StriKe
Date: Mon, 01 May 2006 20:18
12 lines
1751 bytes
> Straf, gezien er van VS 2005 een gratis versie is (Express-edition) en van VS 
> 2003 niet.

Ik heb de express versie nog niet bekeken (welke functionaliteiten 
vallen er bijv zoal uit tegenover de 'full versie'?) maar wees gerust: 
VS.NET 2003 is als student volkomen gratis te downloaden via MA3D ;)

-- 
Groeten,
StriKe

http://www.internetfreakz.be
Re: VB.NET: Column in datagrid verbergen
#706
Author: Steven Spits
Date: Wed, 03 May 2006 07:52
17 lines
1793 bytes
"StriKe" schreef:

> Ik heb de express versie nog niet bekeken (welke functionaliteiten vallen 
> er bijv zoal uit tegenover de 'full versie'?) maar wees gerust:

http://msdn.microsoft.com/vstudio/products/compare/default.aspx

> VS.NET 2003 is als student volkomen gratis te downloaden via MA3D ;)

Je hebt gelijk, dat was ik uit het oog verloren.

Overigens zijn *alle* edities van VS 2005 via dat kanaal legaal te 
downloaden! :-)

Steven

- - -
Re: VB.NET: Column in datagrid verbergen
#707
Author: Hypoliet
Date: Wed, 03 May 2006 12:45
14 lines
1820 bytes
"StriKe" <strike_usenet@internetfreakz.be.invalid> wrote in message 
news:mn.c4cd7d64ba6a6949.48459@internetfreakz.be.invalid...
>> Hey,
>>
> Ik heb jouw voorstel in verband met het verbergen van de column geprobeerd 
> maar Column is blijkbaar geen member van een DataGrid binnen VB.NET.


Het is Columns en niet Column, en volgens mij is dat w�l een member van 
DataGrid, zelfs in ASP.NET 1.0.

--

Riki 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads