Datagrid questo mostro..

giovedì 13 maggio 2004 - 16.34

betangel Profilo | Newbie

ciao a tutti..
volevo sapere se avete info su come usare il datagrid nei windows form...
vi spiego il mio problema:

ho un datagrid, e nel datasource, gli metto il dataset che voglio visualizzare.
siccome vorrei poter dimensionare le colonne in maniera diversa, o addirittura nasconderle,
ho letto che bisogna creare un datagridtablestyle
e una serie di datagridtextboxcolumn per ogni colonna...
poi setto le varie dimensioni..
ma in realta' mi carica solo i valori del preferred datagrid..
come si fa ad "attivare un determinato tablestyle?"

vi invio un po' di codice...
ciao e grazie!

Friend WithEvents TSdettlav As System.Windows.Forms.DataGridTableStyle
Friend WithEvents TCCliente As System.Windows.Forms.DataGridTextBoxColumn
Friend WithEvents TCLavoro As System.Windows.Forms.DataGridTextBoxColumn
Friend WithEvents TCore As System.Windows.Forms.DataGridTextBoxColumn

Me.TSdettlav = New System.Windows.Forms.DataGridTableStyle
Me.TCCliente = New System.Windows.Forms.DataGridTextBoxColumn
Me.TCLavoro = New System.Windows.Forms.DataGridTextBoxColumn
Me.TCore = New System.Windows.Forms.DataGridTextBoxColumn
Me.daDettlav = New System.Data.SqlClient.SqlDataAdapter

Me.dgDettlav.BackgroundColor = System.Drawing.Color.LightGray
Me.dgDettlav.CaptionText = "Dettaglio ore per Lavoro"
Me.dgDettlav.DataMember = ""
Me.dgDettlav.DataSource = Me.DsDettLav.clienti
Me.dgDettlav.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.dgDettlav.Location = New System.Drawing.Point(512, 264)
Me.dgDettlav.Name = "dgDettlav"
Me.dgDettlav.ReadOnly = True
Me.dgDettlav.RowHeaderWidth = 15
Me.dgDettlav.Size = New System.Drawing.Size(264, 304)
Me.dgDettlav.TabIndex = 91
Me.dgDettlav.TableStyles.AddRange(New System.Windows.Forms.DataGridTableStyle() {Me.TSdettlav})

'TSdettlav
'
Me.TSdettlav.DataGrid = Me.dgDettlav
Me.TSdettlav.GridColumnStyles.AddRange(New System.Windows.Forms.DataGridColumnStyle() {Me.TCCliente, Me.TCLavoro, Me.TCore})
Me.TSdettlav.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.TSdettlav.MappingName = "dsdettlav"
Me.TSdettlav.PreferredRowHeight = 40
'
'TCCliente
'
Me.TCCliente.Format = ""
Me.TCCliente.FormatInfo = Nothing
Me.TCCliente.HeaderText = "Cliente"
Me.TCCliente.MappingName = "Cliente"
Me.TCCliente.Width = 120
'
'TCLavoro
'
Me.TCLavoro.Format = ""
Me.TCLavoro.FormatInfo = Nothing
Me.TCLavoro.HeaderText = "Lavoro"
Me.TCLavoro.MappingName = "Lavoro"
Me.TCLavoro.Width = 150
'
'TCore
'
Me.TCore.Format = ""
Me.TCore.FormatInfo = Nothing
Me.TCore.HeaderText = "Tot. Ore"
Me.TCore.MappingName = "Totale"
Me.TCore.Width = 50

Andy Profilo | Senior Member

Ciao..ero impazzito anchio all'inizio con questo problema...prova cosi..crei le colonne che ti servono, le dimensioni (a proposito x non vedere una colonna devi assegnargli dimensione 0). Poi una volta effettuato il lavoro di confing colonne reimposta datasource, e nel tuo tablestyle "rebynda" la tabella ...in pratica lui la ricollega alla tua table tenendo x default il tablestyle che gli hai creato...
A me ha funzionato..

Bon Lavoro
Andy

ILCAVALIERENERO Profilo | Newbie

Ciao, per personalizzare il datagrid che hai associato ad un dataview (per esempio) devi crearti un tablestyles e un gridcolumnstyle su misura, per fare ciò clicca su (insieme) accanto a tablestyles dall' elenco delle proprietà del datagrid..(fattoo?), si aprirà una schermata chiamata "Editore dell'insieme datagridtablestyles", clicca su aggiungi (fattoo?) adesso puoi modificare le proprietà che ti interessano e impostare la tabella dal quale prendere i dati in mappingname (per esempio scrivi clienti accanto a mapping name se nel tuo database esiste una tabella di nome clienti) (fattoo?) adesso devi ancora cliccare su (insieme) accanto alla proprietà gridcolumnstyle, si aprirà una ulteriore schermata chiamata "Editore dell'insieme datagridcolumnstyle", clicca su aggiungi, in questo modo aggiungerai le colonne che desideri e dovrai impostare alcune proprietà come: widht (larghezza della colonna) e headertext (intestazione della colonna) ma soprattutto scegliere il campo da associare a questa colonna selezionandolo dalla casella accanto a mappingname, (fattoo?) adesso puoi cliccare ancora su aaggiungi per inserire ulteriori colonne.
Spero di essere stato chiaro altrimenti scrivimi ancora e saro' piu' dettagliato.
Ciao.

betangel Profilo | Newbie

fatto!!
hihi
lo avevo gia' fatto ma non funzionava.. ora pero' ho messo anche il flag su
width nelle proprieta' advanced del columnstyle e funziona..
grazie cavaliere!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5