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
Author: StriKe
Date: Sun, 23 Apr 2006 10:37
Date: Sun, 23 Apr 2006 10:37
49 lines
2613 bytes
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
Author: Bart
Date: Sun, 23 Apr 2006 14:44
Date: Sun, 23 Apr 2006 14:44
21 lines
1872 bytes
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
Author: StriKe
Date: Sun, 23 Apr 2006 16:24
Date: Sun, 23 Apr 2006 16:24
49 lines
2542 bytes
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
Author: Steven Spits
Date: Mon, 24 Apr 2006 07:01
Date: Mon, 24 Apr 2006 07:01
23 lines
1846 bytes
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
Author: StriKe
Date: Mon, 24 Apr 2006 18:29
Date: Mon, 24 Apr 2006 18:29
53 lines
3337 bytes
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
Author: Steven Spits
Date: Wed, 26 Apr 2006 08:58
Date: Wed, 26 Apr 2006 08:58
11 lines
1425 bytes
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
Author: StriKe
Date: Wed, 26 Apr 2006 16:56
Date: Wed, 26 Apr 2006 16:56
19 lines
1871 bytes
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
Author: Steven Spits
Date: Thu, 27 Apr 2006 08:34
Date: Thu, 27 Apr 2006 08:34
12 lines
1696 bytes
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
Author: StriKe
Date: Mon, 01 May 2006 20:18
Date: Mon, 01 May 2006 20:18
12 lines
1751 bytes
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
Author: Steven Spits
Date: Wed, 03 May 2006 07:52
Date: Wed, 03 May 2006 07:52
17 lines
1793 bytes
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
Author: Hypoliet
Date: Wed, 03 May 2006 12:45
Date: Wed, 03 May 2006 12:45
14 lines
1820 bytes
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