Newsgroup: it.comp.lang.visual-basic
Titolo: DataGridView  text l Alignment

Salve,
 
nonostante abbia specificato nelle property l'allineamento 
'Middleright', sia per i titoli, sia per tutte le celle,  i titoli 
rimangono allineati in centro.
 
Da cosa potrebbe dipendere  ?
 
Grazie.
 


potrebbe dipendere dal fatto che viene riserveto dello spazio a destra e che
di conseguenza non allinea correttamente la scritta.
 
se non ti interessa ordinare i dati
puoi impostare le colonne cosě:
DataGridView1.Columns(0..n-1).SortMode = 
System.Windows.Forms.DataGridViewColumnSortMode.NotSortable
 
hth
bye
roberto


 
ho eseguito la modifica come da suggerimeno, ma non č cambiato niente : 
i titoli restano allineati a sinistra mentre le colonne sono allineate a 
destra, (come devono).
 
Comunque grazie del suggerimento.

John ha usato la sua tastiera per scrivere :

Prima di postare ho provato il codice ...funziona!
..zac..
'aggancio il tutto
            dataAdapter = New OleDb.OleDbDataAdapter(Query, 
StringaConnessione)
            'riempio la tabella
            dataAdapter.Fill(dt)
            'la mostro nella griglia
            GrigliaDati.DataSource = dt
            'format dati
            With GrigliaDati
                .Columns(0).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.TopLeft
                .Columns(1).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.MiddleCenter
                .Columns(3).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.BottomRight
                .Columns(1).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.MiddleRight
 
            End With
..zac..
 
Ovviamente (lo saprai ma è meglio ripeterlo per i niubbi) un 
allineamento MiddleCenter se la riga non è "alta" apparirà come un 
normale "center"!
 
-- 
----- Italliaaaaa 3227! -----
Pasquà...Pasquale Zagaria...u'fighh'Riccard
[Vieni avanti cretino (1982)
c'ho pure il video! 
http://www.martek.it/public/dblog/banfi1.swf
 ]
 
 

 John ha usato la sua tastiera per scrivere :
zac
ovviamente l'index delle colonne sono: 0 1 2 3 ...la fretta! :-)
 
-- 
----- Italliaaaaa 3227! -----
Era Cecco, il figlio del fornaio; era un orribile butterato napoletano, 
col culo molto basso ed un alito agghiacciante tipo fogna di Calcutta.
(Fantozzi)
 
 

> rimangono allineati in centro.
 
Prova da codice nell'Evento Form_Load
DataGridViewTua.GridArticoli.ColumnHeadersDefaultCellStyle.Alignment......
 
-- 
Gulp®

Il 28/12/11 9.59, Wodka40° ha scritto:
 
Semplice corto e lineare, come fosse VB6.
Per fortuna esiste Il Copy - Paste!!
 
-- 
Gulp®

 Comunque grazie del suggerimento.
 
scusa ma non sono stato preciso, oltre all'impostazione che ti ho scritto 
prima, è necessario
A) impostare l'allineamento Default dei titoli delle colonne
nel seguente modo:
DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = 
DataGridViewContentAlignment.TopRight
 
B) impostare singolarmente quelle colonne che devono differire dal default
DataGridView1.Columns(1).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.TopCenter
 
questo serve perché l'allineamento del titolo è diverso da quello della 
cella.
 
hth
bye
roberto
 


 
grazie di tutto l'esempio.
Ma il problema è inspiegabilmente più oscuro di quello che dovrebbe essere :
 
oltre ad aver messo il tuo esempio, (poi tolto perchè dava lo stesso 
errore), anche un semplice statement come questo :
 
DGV1.Columns(0).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.MiddleRight
 
mi da errore :  index out of range.
 
Non riesco a spiegarmi la cosa. Ho provato i tutte le varianti e quello 
che disturba sembra essere l'indirizzamento della colonna.
Anche se faccio Columns("ID")   che é il titolo della colonna, mi dá errore.

 Anche se faccio Columns("ID") che ï¿œ il titolo della colonna, mi dï¿œ errore.
 
Quando lo fai la griglia deve giï¿œ avere almeno una colonna.
Sei sicuro che sia cosï¿œ ?
Prova ad aggiungere una colonna e vedi che succede:
 
DGV1.ColumnCount = 1 ' crea almeno una colonna, poi prova
' a settare l'allineamento.
  DGV1.Columns(0).HeaderCell.Style.Alignment = _ 
DataGridViewContentAlignment.MiddleRight
 
Detto questo, anch'io ho problemi con l'allineamento degli
header. Cerco di spiegarmi.
Se un header multilinea ha due o tre parole, e io setto
l'allineamento MiddleCenter, le due o tre righe vengono
correttamente allineate fra di loro, ma l'intero blocco
ï¿œ allineato a sinistra, anzichï¿œ centrato nella cella.
Provo a simulare, usate un font fisso:
----------------------------------------------------
|       io       | invece         |  le righe      |
|       lo       |   lo           |    sono        |
|     vorrei     |  vedo          |  accostate     |
|     vedere     |  cosï¿œ          |    a sx        |
|      cosï¿œ      |purtroppo       | ma centrate    |
|                |                | fra di loro    |
----------------------------------------------------
 
Bye, G.

 Bye, G.
 
Se fosse possibile, allegherei un .jpg della schermata.
E' una cosa scema, veramente. Una cazzatella che non dovrebbe dare 
nessun problema.
Non uso niente di speciale.
 
Questo è il codice completo del progetto :
 
 
Imports System.Data
Imports System.Data.OleDb
 
Public Class fMMSE
     Dim DAD As OleDb.OleDbDataAdapter
     Dim DTAB As New DataTable
 
     Dim CONNSTR As String = "provider=Microsoft.jet.OLEDB.4.0;Data 
Source=""MMSE.mdb"""
 
 
 
     Private Sub fMMSE_Load(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles MyBase.Load
 
 
 
 
         DGV1.Top = 0
         DGV1.Left = 0
         DGV1.Width = Me.Width
         DGV1.Height = Me.Height
 
         DGV1.Columns(0).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.MiddleRight
         DGV1.Columns(1).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.MiddleRight
 
 
 
 
         DAD = New OleDb.OleDbDataAdapter("select * from MMSE", CONNSTR)
         DAD.Fill(DTAB)
         DGV1.DataSource = DTAB
 
 
     End Sub
 
End Class
 
risultato : tutto OK solo che i titoli sono allineati a sinistra, e il 
resto tutto allineato a destra.
Oltretutto la ultima riga vuota è tanto antiestetica. Ma fosse solo 
quello !!!
 
Penso che opterò per il PHP e MySQL e farò una soluzione intranet !!!
 
Intanto ha solo carattere 'consultorio'.
 
Grazie comunque a tutti per i suggerimenti.

          DGV1.Columns(1).HeaderCell.Style.Alignment =  DataGridViewContentAlignment.MiddleRight
 
dopo la connessione al DB.
 
Bye, G.


Fatto !  le ho messe subito dopo lo statement
 
DAD = New OleDb.OleDbDataAdapter("select * from MMSE", CONNSTR)
 
ma ho lo stesso errore :
----
Index was out of range. Must be non-negative and less than the size of 
the collection.
Parameter name: index
-----
 
(PS -  avevo messo solo queste due righe, per test, anche se poi 
funziona lo dovrò fare per tutte le altre colonne.)

 Parameter name: index
 
Hai provato a metterci prima questa, come dicevo in altro post ?
 
DGV1.ColumnCount = 1
 
Bye, G.


prova a mettere le righe in questo ordine:
 
============
         DAD = New OleDb.OleDbDataAdapter("select * from MMSE", CONNSTR)
         DAD.Fill(DTAB)
'-------------------------
'la griglia non ha nessuna colonna fino a che non le imposti il DataSource
'-------------------------
         DGV1.DataSource = DTAB
         DGV1.Columns(0).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.MiddleRight
         DGV1.Columns(1).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.MiddleRight
'-----------
'inoltre devi aggiungere queste righe
'-----------
DataGridView1.Columns(0).SortMode = 
System.Windows.Forms.DataGridViewColumnSortMode.NotSortable
DataGridView1.Columns(1.SortMode = 
System.Windows.Forms.DataGridViewColumnSortMode.NotSortable
============
 
HTH
bye
roberto
 

 Penso che opterò per il PHP e MySQL e farò una soluzione intranet !!!
Mille paroloni....php...python...mysql....
ma sotto sotto la tua assoluta solita incapacità...l'esempio che ti ho 
postato fa parte dell'esempio che ti feci a suo tempo ed è 
ASSOLUTAMENTE FUNZIONANTE!
 
...ci persi tempo a fartelo e pure a commentartelo....vedo che con te è 
tutto tempo perso!!! Molto meglio andare al bar a bersi un caffè!
CMQ è passato Natale...spendo ancora del tempo per te nella speranza 
che prima o poi in codesta zucca qualcosa entri oltre all'aria!
 
...e SOPRATUTTO per i newbie a cui DAVVERO INTERESSA....
 
 
Un esempio completo e funzionante:
il database è il classico northwind.mdb ...quello di access!
FW 4.0
 
FATEVI un nuovo progetto
Prendete una windows form....chiamatela JohnForm ...formattatela un po:
Aggiungete un combobox e chiamatelo cmbTabelle
Aggiungete un command button e chiamatelo Button1 e con testo "Recupera 
dati"
Aggiungete una datagridview e chiamatela GrigliaDati io l'ho lasciata 
tal quale l'ho solo allargata alla larghezza del form...non lho nemmeno 
ancorata
 
Adesso il codice da copia-incollare
 
Imports System.Data.OleDb 'almeno ci attacchi quello che vuoi! Da 
Access a Mysql a Excel
 
 
Imports System.Drawing 'per giocare con la datagridview!
 
 
Public Class JohnForm
 
    'QUESTE VARIABILI LE VEDI IN TUTTA LA CLASSE
    Private dataAdapter As OleDbDataAdapter 'per ORA NON HO istanziato 
nulla....ho solo riservato una prenotazione del posto al compilatore
    Private StringaConnessione As String = 
"Provider=Microsoft.Jet.OLEDB.4.0;Data 
Source=""C:\lavorivbnet\database\Nwind.mdb"" "
    Private Query As String = ""
 
 
    Private Sub JohnForm_Load(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles MyBase.Load
        'un po di config
        'metto nel combobox il nome delle tabelle
        With Me.cmbTabelle
            .Items.Clear()
            .Items.Add("Customers")
            .Items.Add("Employees")
            .Items.Add("Products")
            .Items.Add("Shippers")
            .Items.Add("Suppliers")
            .Items.Add("QUESTANONESISTE")
        End With
        ' La Datagridview
        With GrigliaDati
            .AutoGenerateColumns = True
            .AllowUserToDeleteRows = True
            .AllowUserToDeleteRows = True
            .AllowUserToOrderColumns = True
            .AllowUserToResizeColumns = True
            'aggancio la griglia alla form per renderla allargabile
            .Anchor = AnchorStyles.Left Or AnchorStyles.Right Or 
AnchorStyles.Bottom
 
 
        End With
        Button1.Text = "Recupera dati"
    End Sub
 
    'UN BOTTONE PER SCATENARE TUTTO
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button1.Click
        'mi faccio la query
        Query = "SELECT * FROM " + Me.cmbTabelle.SelectedItem.ToString
        'ed ora?
        'Ora devo avere un contenitore per parcheggiare i dati che 
recupero dal database...una dataTable è perfetta!
        Dim dt As New DataTable
 
        Try
            'aggancio il tutto
            dataAdapter = New OleDb.OleDbDataAdapter(Query, 
StringaConnessione)
            'riempio la tabella
            dataAdapter.Fill(dt)
            'la mostro nella griglia
            GrigliaDati.DataSource = dt
            'format dati
            formatGriglia(GrigliaDati)
 
 
 
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
 
    End Sub
    Private Sub formatGriglia(nomegriglia As DataGridView)
        With nomegriglia
 
 
            .ColumnHeadersBorderStyle = 
DataGridViewHeaderBorderStyle.Single
            .ColumnHeadersDefaultCellStyle.Alignment = 
DataGridViewContentAlignment.BottomCenter
            .ColumnHeadersDefaultCellStyle.Font = New Font("Courier", 
10, FontStyle.Bold, GraphicsUnit.Point)
            .ColumnHeadersDefaultCellStyle.ForeColor = 
Color.DarkTurquoise
            .ColumnHeadersHeight = 70
            .ColumnHeadersHeightSizeMode = 
DataGridViewColumnHeadersHeightSizeMode.DisableResizing
 
            For n As Integer = 0 To .Columns.Count - 1
                'faccio questo perchè non so se ci sono colonne!
                Select Case n
                    Case 0
                        'prima colonna
                        .Columns(0).DefaultCellStyle.ForeColor = 
Color.WhiteSmoke
                        .Columns(0).DefaultCellStyle.Font = New 
Font("Arial", 8, FontStyle.Regular, GraphicsUnit.Point)
                        .Columns(0).DefaultCellStyle.BackColor = 
Color.DarkSlateBlue
                        .Columns(0).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.MiddleLeft
                        .Columns(0).Width = 120
                        .Columns(0).MinimumWidth = 90
                    Case 1
                        'seconda colonna
                        .Columns(1).DefaultCellStyle.ForeColor = 
Color.DarkBlue
                        .Columns(1).DefaultCellStyle.Font = New 
Font("Arial", 8, FontStyle.Regular, GraphicsUnit.Point)
                        .Columns(1).DefaultCellStyle.BackColor = 
Color.YellowGreen
                        .Columns(1).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.MiddleRight
                        .Columns(1).Width = 220
                        .Columns(1).MinimumWidth = 100
 
                    Case Else
                        .Columns(n).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.BottomLeft
 
                End Select
            Next
 
        End With
    End Sub
 
    Private Sub GrigliaDati_CellFormatting(sender As Object, e As 
System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles 
GrigliaDati.CellFormatting
        'tanto per far vedere che c'è anche altro
        If (e.RowIndex Mod 2) = 0 Then
            'riga pari
            If e.ColumnIndex >= 2 Then
                'dalla terza colonna se c'è
                e.CellStyle.BackColor = Color.LightGray
            End If
        Else
            'riga dispari
            If e.ColumnIndex >= 2 Then
                'dalla terza colonna se c'è
                e.CellStyle.BackColor = Color.LightSeaGreen
            End If
        End If
    End Sub
 
    Private Sub GrigliaDati_CellPainting(sender As Object, e As 
System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles 
GrigliaDati.CellPainting
        'giocando con la datagridview
        'ho una icona nelle risorse
        'la metto nella prima cella dell'header
        If e.RowIndex = -1 And e.ColumnIndex = 1 Then
            'sono nella prima cella dell'header
            Dim img As Image = My.Resources.persona1.ToBitmap
            e.Paint(e.CellBounds, DataGridViewPaintParts.All & 
DataGridViewPaintParts.ContentForeground)
            e.Graphics.DrawImage(img, New Point(e.CellBounds.X, 
e.CellBounds.Y))
            e.Handled = True
        End If
    End Sub
 
End Class
 
 
Cosa manca?
Andate nelel proprietà del progetto...c'è una linguetta ..."RISORSE"
in alto un combobox...scegliete "ICONE" ....accanto "Aggiungi risorsa" 
click sulla freccia in giù.... scegliere "aggiungi file esistente"
trovate una icona nel vostro harddisk e caricatela nelle risorse...poi 
per non far fallire il codice chiamatela: persona1
 
....tutto perfettibile....ma molto didattico!!!
Ovviamente per essere didattico...ci vuole un tutor...ed un allievo!
Se l'allievo si crede tutor...si va da poche parti!
...chi vuol capire....
Saluti !
 
 
 
 
p.s.
Il prossimo che dice che son buono solo a flammare e non a postare 
soluzioni può automandarsi direttamente a fanculo da parte mia!
 
-- 
----- Italliaaaaa 3227! -----
Guerrieriii....giochiamo a fare la guerraaa!.... 
Guerrieriii....giochiamo a fare la guerraaa!.... 
Guerrieriii....giochiamo a fare la guerraaa!....
 
I guerrieri della notte (1987)
 
 

 Correva il 29/12/2011 e rincorrendolo John scriveva:
e aggiungo ancora.....
compiti a casa:
 
1) adesso se allargo il form si allarga la griglia ma rimane ancorata 
al fondo...se volessi anche allargarla per altezza?
 
2) se visualizzo 2 tabelle di seguito il paint dell'header per 
sovraimporre l'icona mi "impasta" le scritte...andrebbe cancellato e 
riscritto?...o cos'altro?
 
3) cambiare colore quando il puntatore passa su una cella???
 
:)
 
-- 
----- Italliaaaaa 3227! -----
Soldato Joker, cosa ci fa il soldato Palla di Lardo con quel fucile in 
mano nel mio fottutissimo bagno?
 
Sergente Artman [ da: "Full Metal Jacket" ]
 
 


 
Ho fatto esattamente cosě. Ora funziona perfettamente.
Grazie mille.
 
 


 
Sei buono e caro e nessuno è più simpatico di te !
E ti auguro di cuore (non scherzo) a te a tutti gli avventori di questo 
NG di 'elite' un Felice Anno Nuovo.
E ovviamente ringrazio tutti per i suggerimenti (anche quelli che non 
hanno funzionato).
 
E vorrete scusarmi se ogni tanto, solo preso dalla nostalgia, mi 
avventurerò sul Visual basic, e ovviamente anche un piccolissimo 
programmino scemo mi causerà bugs madornali, di avere compassione di me 
ed aiutarmi, come avete sempre fatto.
 
Buon anno a tutti !
 
John.
Da trentanni NewBy di Visual Basic !!!
 


Vorrei chiarire a TUTTI i newbie ed a quelli che seriamente (per 
diletto o per lavoro) vorrebbero usare VB.net o un qualsiasi altro 
prodotto dotNet....di saltare a piè pari le farneticazioni di questo 
signore!
 
Stringi stringi .... l'errore che questo signore compiva era quello di 
voler assegnare una proprietà ad un oggetto PRIMA CHE ESISTESSE!
Siccome solo Dio può compiere tali miracoli VB.net come qualsiasi altro 
linguaggio serio segnalava l'errore al povero mortale!
 
Quello che ho postato è un esempio che mostra didatticamente cosa può 
fare (in maniera incompleta ovvio) anche una datagridview.
 
Vorrei anche precisare non a John (chissenefrega) ma a chi legge fin 
qui che per quanto non si usi mai e sempre meglio capire tutte le 
potenzialità di un prodotto prima di dire che schifo! Un esempio: 
sapere come usare il gps sul cellulare normalmente non serve...il 
giorno che avete bisogno di usarlo la vostra conoscenza farà la 
differenza!
 
Vorrei anche dirvi che le parole hanno un peso essendo l'informatica 
una branca dell'ingegneria: possiamo parlare di "Plinto" oppure di 
"coso in cemento che serve a far sta sù una colonna che ci poggia sopra 
ficcato dentro il terreno"...usare il termione "plinto" fornisce una 
informazione univoca, completa, ripetibile, verificabile!
Quindi allenatevi a parlare il gergo proprio del vostro linguaggio o 
tecnica di programmazione che usate vi servirà a far chiarezza mentale 
a voi stessi ed a chi vi legge!
 
Anche qui non fate come il signor john: fa un gran casino di 
termini....
un meltig pot sbagliato di termini...forse li sente dire e li piazza 
lì!
un esempio: Canvas in windows forms? Proprio sicuro? Normalmente no! Ci 
sono solo barbatrucchi per usare un elemento WPF in windows forms!
 
Ed infine non vi fate abbagliare dalle sue farneticazioni...il dotNet è 
semplice e veloce!
 
un esempio
Mostrare una tabella in una griglia
dim StringaConnessione As String = 
"Provider=Microsoft.Jet.OLEDB.4.0;Data 
Source=""C:\lavorivbnet\database\Nwind.mdb"" "
dim Query As String = "SELECT * FROM miatabella"
Dim dt As New DataTable
        Try
            'aggancio il tutto
            dataAdapter = New OleDb.OleDbDataAdapter(Query, 
StringaConnessione)
            'riempio la tabella
            dataAdapter.Fill(dt)
            'la mostro nella griglia
            GrigliaDati.DataSource = dt
....
7 istruzioni!!!...ed il try è sostibuile da un using o da nulla
Ovviamente ...se voglio una icona nella cella...o una riga verde una 
blu e una rossa...o 2 colonne blu e 3 rosse....ovviamente mi tocca 
spippolare un po ...ma nulla di drammatico!
 
MA SE NON VOLETE SCRIVERE NEMMENO UNA RIGA DI CODICE...
nessun problema...ci sono altri ambienti di sviluppo(non 
programmazione) totalmente visuali!
Access per dirne uno!
 
 
e l'assurdità del tizio si nota in....
al tizio garba il php....come fa a recuperare dei dati in php e 
mostrarli dentro una griglia?
Quanto codice scrive? Siccome faccio anche lavori in php (non gliene va 
bene una all'amico...)
'connessione
$conn=@mysql_connect($host,$utente,$password);
@mysql_select_db($db);
'query
 $testosql='SELECT * FROM `miatabella` ';
 $ret=@mysql_query($testosql,$conn);
   while ($riga= mysql_fetch_assoc($ret))
		{
		....dati per la griglia!
       ....un guazzabuglio di
      echo("<tr>");
      echo("<td> {$riga['rec1']} </td>");
      ......
      echo("</tr>");
		}
 
L'ho fatta corta ho saltato i vari die per segnalare la non riuscita ed 
il close finale!!!
...più un css per formattarlo un minimo visivamentei....con i casini di 
rendering fra un browser e l'altro!!!...con agganciato Jquery se si 
vuole metterci un minimo di interazione con l'utente! casomai anche 
Ajax?!?!? IL TUTTO CONDITO da un ambiente di variabili SCARSAMENTE 
tipizzate che ti portano se non stai attento a casini immani!!! ...ma 
state scherzando vero? Mille volte meglio dotNet!!!
 
Insomma John si sta intestardendo a dir male di tutto l'ambiente Net 
senza conoscerlo...a dir male di noi senza voler vedere gli aiuti 
forniti...arroccato sulla sua assoluta posizione!
E' una posizione legittima (per 
carità)..ma..talebana...a-scientifica...fideista..oserei dire 
superstiziosa(in quanto espressione di una conclusione sbagliata 
estrapolata da fatti realmente accaduti mal interpretati)...tutto 
l'incontrario di quello che ci si aspetterebe da un laureando in 
neuroscienze!!! Ma il mondo è un paradosso e c'è spazio per tutti! 
Speriamo almeno che nel suo campo sia bravo !!!!!
 
E con questo....fine!
 
p.s.
Ma john?!?!...non dovevi andar via e pagare un ragazzo per fare il 
lavoro???
Non hai trovato nessuno che ti sopporta a Genova???...cavolo se non 
trovi un genovese che per soldi fa il lavoro vuol dire che sei proprio 
tremendo!!!
:) Saluti!
 
-- 
----- Italliaaaaa 3227! -----
Verace o finta, è da temersi sempre  pietà di plebe.
(Vittorio Alfieri)
 
 

 Am 29.12.2011 10:13, schrieb Wodka40°:
zac
Piccolo hint per tutti:
La griglia la posso usare in 2 modi DATABOUND o UNBOUND....collegata o 
scollegata dai dati.
 
Se la uso databound significa che prendo dei dati da una fonte...anche 
da una collezione...o da una dataTable...e la do in pasto alla griglia!
La griglia mi guarda quante colonne ci sono in una riga e me le mostra!
QUINDI
Oggetto che fa da ponte tra la mia datTable e il database vero e 
proprio
dataAdapter = New OleDb.OleDbDataAdapter(Query, StringaConnessione)
 
'riempio la tabella
dataAdapter.Fill(dt)
'la mostro nella griglia
GrigliaDati.DataSource = dt
 
3 Istruzioni...ovviamente la griglia "lavora da se" e vi fa vedere i 
dati formattati STANDARD con le impostazioni di default!
 
John ADESSO vorrebbe interagire con la griglia! Ma non con la 
griglia...con le colonne!!!!
ED E' OVVIO ANCHE AI BAMBINI che può farlo SOLO ORA che la griglia SA':
1) QUANTE RIGHE CI SONO (se ci sono)
2) QUANTE COLONNE CI SONO PER RIGA
...fino ad adesso non lo sapeva!!!Ne è logico che lo potesse sapere: 
non c'era "agganciato" NULLA alla griglia!!!
 
Quindi EVENTUALI formattazioni sulle colonne o sulle righe son 
disponibili adesso!
Perchè adesso un
GrigliaDati.Columns(7).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.MiddleRight
 
ha un senso!!! ...se la tabella che agganciate ha soltanto 3 colonne 
questa affermazione PREVENTIVA non avrebbe senso! non esiste la 
Columns(7) !!!
...ed è  MA TU GUARDA l'errore che appariva a John!!!
 
-- 
----- Italliaaaaa 3227! -----


Il 28/12/2011, Paperino ha detto :
 
zac
Boh Paperino <sgrat> B-) <sgrat>!
una cosa del tipo
            .ColumnHeadersBorderStyle = 
DataGridViewHeaderBorderStyle.Single
            .ColumnHeadersDefaultCellStyle.Alignment = 
DataGridViewContentAlignment.BottomCenter
            .ColumnHeadersDefaultCellStyle.Font = New Font("Courier", 
10, FontStyle.Bold, GraphicsUnit.Point)
            .ColumnHeadersDefaultCellStyle.ForeColor = 
Color.DarkTurquoise
            .ColumnHeadersHeight = 90
            .ColumnHeadersHeightSizeMode = 
DataGridViewColumnHeadersHeightSizeMode.DisableResizing
 
e poi un
.Columns(0).DefaultCellStyle.ForeColor = Color.WhiteSmoke
                        .Columns(0).DefaultCellStyle.Font = New 
Font("Arial", 8, FontStyle.Regular, GraphicsUnit.Point)
                        .Columns(0).DefaultCellStyle.BackColor = 
Color.DarkSlateBlue
                        .Columns(0).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.MiddleLeft
                        .Columns(0).Width = 120
                        .Columns(0).MinimumWidth = 90
                        .Columns(0).HeaderCell.Value = "io" + vbCrLf + 
"lo" + vbCrLf + "vorrei" + vbCrLf + "vedere così"
 
 
ed un
Case Else
                        .Columns(n).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.MiddleCenter
                        .Columns(n).HeaderCell.Value = "io lo vorrei 
vedere così 123 4567"
 
mi produce:
http://www.martek.it/immagini/griglia1.png
 
 
-- 
----- Italliaaaaa 3227! -----
Anche sul trono più alto del mondo, si sta seduti sul proprio culo.
( Michel de Montaigne )
 
 

 :) Saluti!
 
Saluti anchea te . E buon Anno !
 
 

 
http://www.martek.it/immagini/griglia1.png
 
 
Okappa, il codice è il tuo; ho fatto quelle minime modifiche
giusto per farlo funzionare, e ho messo un .middlecenter
sull'header. E' tutto lì a fianco, comunque.
Il risultato è questo:
 
http://img39.imageshack.us/img39/1569/griglia.png
 
 
Come centratura non mi pare un granché, concordi ?
Se ridimensiono le colonne a mano riesco più o meno
ad aggiustarle, ma solo finché non va a capo in altro
modo, e il problema ritorna.
 
L'unica spiegazione che vedo per ora è che possa dipendere
dal fatto che io uso il tema classico, e W7, o .NET,
o quel che è il responsabile in questo caso, ragionano
bene solo coi temi più "grafici".
 
Bye, G.

 Wodka40ï¿œ ha scritto:
prova a far cosï¿œ
                    Case Else
                        .Columns(n).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.MiddleCenter
                        .Columns(n).Width = 250
                        .Columns(n).MinimumWidth = 190
                        .Columns(n).HeaderCell.Value = "io lo vorrei 
vedere cosï¿œ 123 4567"
                        .Columns(n).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.MiddleCenter
 
risultato
http://www.martek.it/immagini/griglia2.jpg
 
 
 Boh !!!
cmq per provare
http://www.martek.it/immagini/griglia2.jpg
 
 
mamma mia che brutto!...ma davvero ci sembrava bello qualche "era 
informatica" fï¿œ????
 
Mamma mia lo ricambio subito!
Saluti!
 
-- 
----- Italliaaaaa 3227! -----
Bisogna sempre dare spontaneamente quello che non si puï¿œ impedire ti 
venga tolto.
(Vittorio Alfieri)
 
 

 
http://www.martek.it/immagini/griglia2.jpg
 
 
Ehi, vedi che lo fa anche a te :-).
 
Bye, G.

 Wodka40° ha scritto:
scusa è
a questo punto non capisco cosa vuoi!...ci capiamo male (prendo la 
colpa!)...!
Ho impostato middlecenter ovviamente il risultato
*
* Ciao bello 123 *
*     sta qui
*
.................
 
riempie tutta la riga partendo dal centro...e continua a riga nuova dal 
centro! e tutte le colonne sono spaziate uguale!!!...scusa da dove 
dovrebbe continuare??? Una cosa del genere?
*
* Ciao bello 123 *
* sta qui
*
.................
Basta un middle left!
Scusami è!
La vedo centrata in altezza e centrata in larghezza...aiuto mi sfugge 
qualcosa! è l'effetto John!!!
 
http://www.martek.it/immagini/griglia4.jpg
 
Ho giocato con gli header
.....abbi pazienza ...mi sembra spaziato tutto giustamente!!!
Lo stile è vero ha un background infelicissimo!...ho  rimediato!
 
 For n As Integer = 0 To .Columns.Count - 1
                'faccio questo perchè non so se ci sono colonne!
                Select Case n
                    Case 0
                        'prima colonna
                        .Columns(0).DefaultCellStyle.ForeColor = 
Color.WhiteSmoke
                        .Columns(0).DefaultCellStyle.Font = New 
Font("Arial", 8, FontStyle.Regular, GraphicsUnit.Point)
                        .Columns(0).DefaultCellStyle.BackColor = 
Color.DarkSlateBlue
                        .Columns(0).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.MiddleLeft
                        .Columns(0).Width = 200
                        .Columns(0).MinimumWidth = 100
                        .Columns(0).HeaderCell.Value = "io" + vbCrLf + 
"lo" + vbCrLf + "vorrei" + vbCrLf + "vedere così"
                        .Columns(0).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.MiddleCenter
                        .Columns(0).HeaderCell.Style.BackColor = 
Color.DarkBlue
                        .Columns(0).HeaderCell.Style.ForeColor = 
Color.WhiteSmoke
 
                    Case 1
                        'seconda colonna
                        .Columns(1).DefaultCellStyle.ForeColor = 
Color.DarkBlue
                        .Columns(1).DefaultCellStyle.Font = New 
Font("Arial", 8, FontStyle.Regular, GraphicsUnit.Point)
                        .Columns(1).DefaultCellStyle.BackColor = 
Color.YellowGreen
                        .Columns(1).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.MiddleRight
                        .Columns(1).Width = 220
                        .Columns(1).MinimumWidth = 100
                        .Columns(1).HeaderCell.Style.BackColor = 
Color.DarkBlue
                        .Columns(1).HeaderCell.Style.ForeColor = 
Color.WhiteSmoke
 
                    Case Else
                        .Columns(n).DefaultCellStyle.Alignment = 
DataGridViewContentAlignment.BottomLeft
                        .Columns(n).Width = 250
                        .Columns(n).MinimumWidth = 190
                        .Columns(n).HeaderCell.Value = "io lo vorrei 
vedere così 123 4567"
                        .Columns(n).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.MiddleLeft
                        .Columns(n).HeaderCell.Style.BackColor = 
Color.DarkBlue
                        .Columns(n).HeaderCell.Style.ForeColor = 
Color.WhiteSmoke
                End Select
            Next
 
 
....adesso mi sembra ci sia tutto....il primo header middlecenter...il 
secondo topcenter...gli altri middle left
e con lo schifoso tema classico!
http://www.martek.it/immagini/griglia5.jpg
 
mi sembra che ci si possa stare no???....ma continuo a non capire che 
difetto ti appare!
 
-- 
----- Italliaaaaa 3227! -----
Il grande maestro di pittura meta-gastro-fisica Luciano Lupoletti in:
David Arlequin
http://www.lupoletti.com/public/lupoletti/09-10-24-12-05-21@David%20Arlequin%20-%20Olio%20su%20tela.jpg
 
 
(ROTFL: oddio mi ribalto)
 
 

> Wodka40° ha scritto:
vado a letto che c'ho pure la febbre...notte! a domani!
 
-- 
----- Italliaaaaa 3227! -----


 La vedo centrata in altezza e centrata in larghezza...
 > aiuto mi sfugge qualcosa!
 
Centrata solo fino ad un certo punto. C'è un bel po' più
di spazio sulla destra che sulla sinistra, e a seconda
della dimensione della scritta e della colonna si va da
un risultato quasi perfetto ad uno davvero schifoso.
Prova a ridimensionare la colonna e vedi che succede.
 
Bye, G.

 Prova a ridimensionare la colonna e vedi che succede.
Ho capito
...ti sembrerà strano ma c'ha una spiegazione
 
..prima la cura:
 .Columns(n).SortMode = DataGridViewColumnSortMode.NotSortable
 
 
e poi la spiegazione (in inglese sorry)
 I just now noticed the slight offset you're referring to in the 
columns—it does indeed create a little extra padding to the right of 
each header. It's not a bug, though. There's a much simpler 
explanation.
 
Like a ListView, the DataGridView supports sorting by columns. 
Therefore, each column header reserves enough space to display the sort 
glyph (usually an arrow) when calculating center justification.
 
If you want the column headers to be perfectly centered, you'll need to 
disable sorting. Set the SortMode property for the column to 
"NonSortable". This should prevent space from being reserved for the 
sort glyph whenever the column text is center or right justified.
 
Tradotto
negli header se vuoi ordinare la colonna ...come in excel ti appare 
l'icona con la freccia in giù....a destra lascia lo spazio extra per 
questa icona!
 
 
Ciao!
;-)
 
 
 
-- 
----- Italliaaaaa 3227! -----
Pasquà...Pasquale Zagaria...u'fighh'Riccard
[Vieni avanti cretino (1982)
c'ho pure il video! 
http://www.martek.it/public/dblog/banfi1.swf
 ]
 
 

 sort glyph whenever the column text is center or right justified.
 
OK, ho capito, mi tengo lo spazio. O magari ogni volta che
devo fare una sort, setto come sortable solo quella colonna,
vedo se è possibile, giocando sugli eventi degli header :-)
 
Gracias, bello :-)
 
Bye, G.

 Bye, G.
Buon fine d'anno!
 
-- 
----- Italliaaaaa 3227! -----
