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
Controllo digitazione celle in datagridview
mercoledì 01 dicembre 2010 - 11.50
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 3.5
|
Visual Studio Express
|
SQL Server Express
Miguel77
Profilo
| Newbie
3
messaggi | Data Invio:
mer 1 dic 2010 - 11:50
Ciao a tutti.
Mi sto avvicinando al linguaggio vb.net per realizzare semplici applicazioni.
in particolare ho realizzato un progammino che contiene una datagridview collegata a un DB sql 2008 express.
alcune colonne devono contenere solo valori numerici (interi o decimali a seconda dei casi)
é possibili fare in modo che se un utente cerca di digitare un carattere non numerico in una cella appartenente ad una di queste colonne il carattere non appaia?
ed ancora, é possibile, ma solo in alcune specifiche colonne, fare in modo che il punto venga riconosciuto come virgola?
grazie in anticipo.
Stroke
Profilo
| Junior Member
114
messaggi | Data Invio:
mer 1 dic 2010 - 12:21
Per la prima domanda ci sono delle extension di ajax che consentono il filtro sui tasti digitati, su www.asp.net/ajax trovi tutto.
Per la seconda devi intercettare gli eventi updating e e inserting del gridview e fare un replace del valore in binding .
replace(e.value("NomeDellaColonna"),",",".").
userai e.newvalue("NomeDellaColonna") per updating
ciao
Furio
http://www.opsi.ws
darkeric
Profilo
| Senior Member
211
messaggi | Data Invio:
mer 1 dic 2010 - 16:30
Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
Select Case DataGridView1.SelectedCells(0).ColumnIndex
Case 0
......
Case 1
controllo = DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells(2).Value
controllo = Replace(controllo, ".", ",")
DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells(2).Value = controllo
Case 2
....
.....
End Select
con questa procedura puoi sostituire il punto con la virgola
--------------------------------
Private Sub DataGridView1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
Select Case DataGridView1.SelectedCells(0).ColumnIndex
Case 0
If e.KeyValue < xx and e.KeyValue > yy Then
e.SuppressKeyPress = True
End Select
End Sub
Questa procedura invece ti intercetta il codice del tasto premuto
non ricorda da quanto a quanto vanno i numerici ma puoi vederlo tu da debug
e.suppresskeypress = true ti annulla la pressione di quel tasto
spero di esserti stato di aiuto!
Ciao
Fabio
Miguel77
Profilo
| Newbie
3
messaggi | Data Invio:
lun 3 gen 2011 - 08:56
innanzitutto grazie per le risposte.
ho provato con i 2 metodi suggeriti da fabio ma:
-la procedura suggerita par sostituire il punto con la virgola non funziona. nel momento in cui inserisco un valore e poi lo salvo si solleva un eccezione dovuta al fatto che il valore inseruto dovrebbe essere di tipo numerico, ma non lo é.
-neanche la seconda procedura funziona, modificando un campo di una datagridview il KeyDown non viene intercettato.
avete altri suggerimenti?
grazie e buon anno
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 !