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
Slezionare una riga in un datagrid
mercoledì 28 giugno 2006 - 14.34
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
andreapavia
Profilo
| Senior Member
203
messaggi | Data Invio:
mer 28 giu 2006 - 14:34
al click su un qualsiasi ca,po del datagrid vorrei che la riga mi diventasse blu come quando clicco sulla cella di intestazione...
questo il mio codice:
Dim ts As New DataGridTableStyle
ts.MappingName = dset.Tables(0).TableName()
DataGrid1.TableStyles.Add(ts)
DataGrid1.DataSource = dset.Tables(0)
For iii = 0 To DataGrid1.DataSource.Columns().Count - 1
If DataGrid1.DataSource.Columns(iii).ColumnName() = "ANNO" Or DataGrid1.DataSource.Columns(iii).ColumnName() = "SERIE" _
Or DataGrid1.DataSource.Columns(iii).ColumnName() = "DATA" Or DataGrid1.DataSource.Columns(iii).ColumnName() = "VALORE" _
Or DataGrid1.DataSource.Columns(iii).ColumnName() = "DESCRIZIONE" Then
Dim dgtbc As DataGridTextBoxColumn
dgtbc = DataGrid1.TableStyles(0).GridColumnStyles(iii)
If DataGrid1.DataSource.Columns(iii).ColumnName() = "ANNO" Then
dgtbc.HeaderText = "ANNO"
dgtbc.Width = calcolaLarcghezzaPerc(10, (DataGrid1.Width - DataGrid1.RowHeaderWidth))
End If
If DataGrid1.DataSource.Columns(iii).ColumnName() = "SERIE" Then
dgtbc.HeaderText = "SERIE"
dgtbc.Width = calcolaLarcghezzaPerc(10, (DataGrid1.Width - DataGrid1.RowHeaderWidth))
End If
If DataGrid1.DataSource.Columns(iii).ColumnName() = "DATA" Then
dgtbc.HeaderText = "DATA"
dgtbc.Width = calcolaLarcghezzaPerc(10, (DataGrid1.Width - DataGrid1.RowHeaderWidth))
End If
If DataGrid1.DataSource.Columns(iii).ColumnName() = "VALORE" Then
dgtbc.HeaderText = "VALORE"
dgtbc.Width = calcolaLarcghezzaPerc(10, (DataGrid1.Width - DataGrid1.RowHeaderWidth))
End If
If DataGrid1.DataSource.Columns(iii).ColumnName() = "DESCRIZIONE" Then
dgtbc.HeaderText = "DESCRIZIONE"
dgtbc.Width = calcolaLarcghezzaPerc(60, (DataGrid1.Width - DataGrid1.RowHeaderWidth))
End If
dgtbc.ReadOnly = True
Else
Dim dgtbc As DataGridTextBoxColumn
dgtbc = DataGrid1.TableStyles(0).GridColumnStyles(iii)
dgtbc.Width = 0
End If
Next
IN QUESTA SEZIONE IL CODICE MI MOSTRA LE COLONNE CON STILE ASSEGNATO
ora vorrei quando clicco su un campo qualsiasi EVIDENZIARE L'ITNERA RIGA
QUESTA E' LA SUB DEL CLICK
Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseDown
Dim pt = New Point(e.X, e.Y)
Dim hit As DataGrid.HitTestInfo = DataGrid1.HitTest(pt)
If hit.Type = Windows.Forms.DataGrid.HitTestType.Cell Then
DataGrid1.CurrentCell = New DataGridCell(hit.Row, hit.Column)
DataGrid1.Select(hit.Row)
End If
End Sub
PERCHE' NON MI EVEDENZIA LA RIGA MA SOLO IL CAMPO....
qualcuno sa aiutarmi????
grazie 1000
blood
Profilo
| Senior Member
291
messaggi | Data Invio:
mer 28 giu 2006 - 17:12
ne abbiamo già parlato in questo forum...comunque sia basta che ti crei una colonna nascosta (con width=0) nel DataGridStyles, e all'evento CurrentCellChanged del DataGrid ci sposti il cursore lì in modo che non si veda, ed è come se selezionasse il rettangolino della riga colorandotela con il colore che hai scelto nello stile del tuo Datagrid
---------------
Piscopo Paolo
:: wD @ IRCnet :: .NET wannabe 8-)
andreapavia
Profilo
| Senior Member
203
messaggi | Data Invio:
gio 29 giu 2006 - 09:20
ho risolto in altro modo...
o meglio.... il mouse downdown di default probabilmente deseziona cio' che è selezionato e sul muose uo seleziona la riga desiderata.... ho spostato l'evento sul datagrid.mouseup e sul click del tasto desto e funziona correttamente
Private Sub DataGrid1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseUp
Dim tastoMouse As String
tastoMouse = e.Button.ToString
Dim pt = New Point(e.X, e.Y)
Dim hit As DataGrid.HitTestInfo = DataGrid1.HitTest(pt)
If hit.Row > -1 And tastoMouse = "Left" Then
DataGrid1.CurrentCell = New DataGridCell(hit.Row, hit.Column)
DataGrid1.Select(hit.Row)
selectedRow = hit.Row
End If
End Sub
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 !