Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
[VB 2008] Formattazione colonne Datagridview
martedì 22 luglio 2008 - 16.14
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ilgrongo
Profilo
| Newbie
9
messaggi | Data Invio:
mar 22 lug 2008 - 16:14
Salve
E' il mio primo post ne approfitto per salutare e ringraziare anticipatamente tutti.
Vengo dalla programmazione tradizionale (Clipper, Pascal, basic, ecc) e solo da poco tempo mi sono avvicinato alla programmazione ad oggetti, in particolare
utilizzando VisualFoxPro. Con tale linguaggio ho scritto un'applicazione che volevo tradurre in VB.NET
Ho un problema con una datagridview .
In particolare, cercando di formattare la larghezza delle colonne della mia griglia mi becco l'errore
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"
che mi sembra logico in quanto non specifico manualmente il numero di colonne, ma attraverso un odbcCommand
Qualcuno mi spiega come posso fare ?
Inoltre volevo chiede, come è possibile elimare la riga vuota che esce dopo l'ultimo record della mia datagridview che solitamente ha un asterisco sulla sinistra ?
Faccio presente che sono oltremodo nubbio.....abbiate bontà
Grazie
Imports System.Data.OleDb
Public Class FormDettaglioCliente
Dim cn As New Odbc.OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=beautypassion; User=root;Password=antonio;")
Dim cmd As Odbc.OdbcCommand
Dim adp As Odbc.OdbcDataAdapter
Dim ds As New DataSet
Private Sub FormDettaglioCliente_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim columnHeaderStyle As New DataGridViewCellStyle()
columnHeaderStyle.Font = New Font("Tahoma", 10, FontStyle.Bold)
DataGridView55.ColumnHeadersDefaultCellStyle = columnHeaderStyle
cn.Open()
cmd = New Odbc.OdbcCommand("Select clcodcli as Codice, clcognome as Cognome, clnome as Nome from clienti", cn)
adp = New Odbc.OdbcDataAdapter(cmd)
adp.Fill(ds, "clienti")
Me.DataGridView55.DataSource = ds
Me.DataGridView55.Columns(0).Width = 30 ('qua mi becco Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index")
Me.DataGridView55.Columns(1).Width = 100
Me.DataGridView55.Columns(2).Width = 100
Me.DataGridView55.DataMember = "clienti"
cn.Close()
End Sub
paoval72
Profilo
| Senior Member
297
messaggi | Data Invio:
mar 22 lug 2008 - 21:07
Ciao, così a prima vista mi semba che manchi il DataBind(), che associa il dataset alla griglia: la colonna (0) risulta così inesistente. Perciò anche l'indice che gli passi è inesistente. Se invece lo fai 8e mi è sfuggito) controlla che il dataset restituito abbia almeno un record: altrimenti la griglia risulterà del tutto vuota.
PV
ilgrongo
Profilo
| Newbie
9
messaggi | Data Invio:
mar 22 lug 2008 - 21:12
Il databind cìè tanto è vero che la griglia con i dati viene caricata correttamente
Il mio è solo un problema legato alla formattazione delle colonne.
Mi chiedevo se ci fosse (sicuramente c'è) un metodo alternativo al
Me.DataGridView55.Columns(0).Width
dove invece dell'indice viene passata un riferimento alla colonna della tabella utilizzata del dataset
RISOLTO !!!
E' bastato spostare i settaggi delle colonne dopo l'assegnazione del datamember
Chiedo scusa ma non ho capito come mettere l'indicazione di problema risolto
Me.DataGridView55.DataSource = ds
Me.DataGridView55.DataMember = "clienti"
Me.DataGridView55.Columns(0).Width = 30 ('qua mi becco Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index")
Me.DataGridView55.Columns(1).Width = 100
Me.DataGridView55.Columns(2).Width = 100
Torna su
Stanze Forum
Elenco Threads
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 !