Datagrid posizione cursore

domenica 11 novembre 2007 - 16.19

contiello Profilo | Senior Member

Salve ragazzi ho un problema .

Ho un datagrid. quando clicco in una cella nell'evento mousedown riesco a recuperare la x e la y del click.

A me però servirebbe la x e la y del vertice della cella ovvero la x e la y dell'angolo in alto a sinistra della cella.

Vi ho allegato un piccolo progetto completo dove mostro la mia esigenza.

recuperata la coordinata dell'angolo poi mi servirebbe la dimensione width corrente della cella.


tutto ciò per poter poi prendere un combobox e sostituirlo alla cella .

grazie

Caly82 Profilo | Newbie

>Salve ragazzi ho un problema .
>
>Ho un datagrid. quando clicco in una cella nell'evento mousedown
>riesco a recuperare la x e la y del click.
>
>A me però servirebbe la x e la y del vertice della cella ovvero
>la x e la y dell'angolo in alto a sinistra della cella.
>
>Vi ho allegato un piccolo progetto completo dove mostro la mia
>esigenza.
>
>recuperata la coordinata dell'angolo poi mi servirebbe la dimensione
>width corrente della cella.
>
>
>tutto ciò per poter poi prendere un combobox e sostituirlo alla
>cella .
>
>grazie
>

Ciao, prova così:
Metti tutto nell'evento Click del DataGrid
Private Sub <tua Dg>_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DgCollaudi.Click
Dim x As Rectangle = <tua Dg>.GetCellBounds(<tua Dg>.CurrentRowIndex, <tua Dg>.CurrentCell.ColumnNumber)
Dim txtBox As New TextBox
txtBox.Top = x.Top
txtBox.Left = x.Left()
txtBox.Height = x.Height
txtBox.Width = x.Width
End Sub

Fammi sapere, ciao ciao!

Caly82 Profilo | Newbie

>Salve ragazzi ho un problema .
>
>Ho un datagrid. quando clicco in una cella nell'evento mousedown
>riesco a recuperare la x e la y del click.
>
>A me però servirebbe la x e la y del vertice della cella ovvero
>la x e la y dell'angolo in alto a sinistra della cella.
>
>Vi ho allegato un piccolo progetto completo dove mostro la mia
>esigenza.
>
>recuperata la coordinata dell'angolo poi mi servirebbe la dimensione
>width corrente della cella.
>
>
>tutto ciò per poter poi prendere un combobox e sostituirlo alla
>cella .
>
>grazie
>

Ciao, prova così:
Metti tutto nell'evento Click del DataGrid
Private Sub <tua Dg>_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DgCollaudi.Click
'Recupero la posizione della cella su cui è stato fatto click
Dim x As Rectangle = <tua Dg>.GetCellBounds(<tua Dg>.CurrentRowIndex, <tua Dg>.CurrentCell.ColumnNumber)
'Definisco una nuova TextBox
Dim txtBox As New TextBox
'Posizione la TextBox
txtBox.Top = x.Top
txtBox.Left = x.Left()
txtBox.Height = x.Height
txtBox.Width = x.Width
'Inserisco il testo della cella sui cui ho cliccato nella textBox
txtBox.Text = CType(<tua Dg>.DataSource, DataTable).Rows(<Tua Dg>.CurrentRowIndex).Item(<Tua Dg>.CurrentCell.ColumnNumber)
End Sub

Fammi sapere, ciao ciao!
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5