Eppure dovrebbe essere così! [:(]

domenica 17 febbraio 2008 - 19.13

albedo Profilo | Junior Member

Vorrei semplicemente che il focus si spostasse sulla terza cella qualora il record esistesse, viceversa che restasse nella cella 1.
Grazie soprattutto a questo splendido forum ho sviluppato questo codice che a mio modestissimo avviso bovrebbe fare propio quello che voglio, ma è come se la condizione 0HasRows? restituisse prima sempre 'False'.

Chi mi aiuta a capire l'arcano?

Grazie

Protected Overrides Function ProcessDataGridViewKey( _
ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean

cl = CurrentCell.ColumnIndex
rw = CurrentCell.RowIndex



If e.KeyCode = Keys.Enter Then
Try
Select Case cl

Case Is = 1
sql = "select FORNITORE from FORNITORI where ID_FOR=?"
Dim cmd As New OleDb.OleDbCommand(sql, cn)
cmd.Parameters.AddWithValue("ID_FOR", Item(1, rw).Value)
dr = cmd.ExecuteReader
Do While dr.Read
If dr.HasRows Then
Item(2, rw).Value = dr.Item("FORNITORE")
CurrentCell = Item(2, rw)
Return Me.ProcessRightKey(e.KeyData)
Else
CurrentCell = Item(0, rw)
Return Me.ProcessRightKey(e.KeyData)
End If
Loop
dr.Close()
End Select
Return MyBase.ProcessDataGridViewKey(e)


End Function
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