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.NET Bindig di dati
mercoledì 06 luglio 2011 - 16.43
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
pedro8a
Profilo
| Junior Member
178
messaggi | Data Invio:
mer 6 lug 2011 - 16:43
Ciao a tutti,
ho questo codice:
Dim drv As DataRowView = DirectCast(Bds.Current, DataRowView)
Dim id As Integer = DirectCast(drv.Item("id"), Integer)
nel pulsante apri scheda.
Il problema è che l'oggetto BindingSource non è "pieno" finchè l'utente non effettua una ricerca che popola un DataGridView
Sul pulsante che apre la scheda, si può cliccare e va in errore se la ricerca non è stata fatta.
Come faccio a capire che il dbs è "vuoto"?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mer 6 lug 2011 - 17:35
Devi verificare prima che ci siano dati oppure mettere il tutto in un blocco di try / catch e gestire l'errore
pedro8a
Profilo
| Junior Member
178
messaggi | Data Invio:
mer 6 lug 2011 - 17:46
Infatti volevo verificare se il dataset è pieno con una if
Ma se il dataset è vuoto il programma va in errore
DomA
Profilo
| Expert
537
messaggi | Data Invio:
mer 6 lug 2011 - 20:45
>>Come faccio a capire che il dbs è "vuoto"?
Ctzenia ti ha dato la risposta:
>>mettere il tutto in un blocco di try / catch e gestire l'errore
Ciao
Domenico
pedro8a
Profilo
| Junior Member
178
messaggi | Data Invio:
gio 7 lug 2011 - 11:43
Rieccomi,
provenendo da vb6, ho scritto questo codice, o si può fare di meglio?
Se il dataset non è caricato mi ritorna l'errore n. 91
Try
Dim drv As DataRowView = DirectCast(Bds.Current, DataRowView)
'Dim ID As Integer = DirectCast(drv.Item("id"), Integer)
Catch
If Err.Number = 91 _
Then
MsgBox("Nessuna Scheda Caricata")
Else
MsgBox(Err.Number & " " & Err.Description)
End If
End Try
DomA
Profilo
| Expert
537
messaggi | Data Invio:
gio 7 lug 2011 - 14:37
Direi che così va proprio bene.
Ciao
Domenico
pedro8a
Profilo
| Junior Member
178
messaggi | Data Invio:
gio 7 lug 2011 - 17:03
Bene, funziona a meraviglia.
Adesso ho un altro problema.
Con vb6 quando cliccavo su una riga del datagrid, gestivo l'evento e riempivo alcune textbox con dati aggiuntivi che non si vedeno nel grid.
Era una "porcata"..... quando si popolava il grid, il compilatore ripeteva 3-4 volte il codice all'interno di questo evento.
Con ovvi errori. Ero costretto a controllare se era la prima volta che si entrava nel form..... lasciamo perdere.Ora che ho scoperto... finalmente...... il binding in .NET (ma forse qualcosa si poteva fare anche in vb6), ho risolto questo problema.... Ma???
Adesso come faccio ad intercettare il fatto, l'evento, che l'utente ha selezionato un altra riga?
Naturalmente cercando di evitare il ripetersi del codice al suo interno (all'interno dell'evento...).
Infatti cercando di fare la stessa cosa che facevo in vb6, gestire l'evento nel gridview di .net, fa la stessa cosa, il compilatore "gira" 3-4 volte all'interno di questo evento....
Spero di essere stato chiaro.
Come diavolo faccio?
Grazie
DomA
Profilo
| Expert
537
messaggi | Data Invio:
gio 7 lug 2011 - 22:51
Forse non ho ben capito...
Ma ci sono gli eventi CellEnter, CellContentClik, KeyDown e così via del Gridview. Basta inserire il codice che vuoi in questi eventi.
Domenico
pedro8a
Profilo
| Junior Member
178
messaggi | Data Invio:
ven 8 lug 2011 - 10:06
Hai ragione, mi stavo incartando.
Ho messo il codice nell'evento DataGridView_MouseUp e funziona a meraviglia.
Non sò se aprire un altro post, intanto scrivo qui.
Alla fine con questo post ci scrivo la documentazione sul datagridview...
Ho questo codice per inserire una checkbox di selezione schede:
Dim Check As New DataGridViewCheckBoxColumn
With Check
.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
.FlatStyle = FlatStyle.Standard
.CellTemplate.Style.BackColor = Color.Honeydew
.DisplayIndex = 0
End With
DataGridView.Columns.Add(Check)
Vorrei fare 3 cose:
1- quando l'utente "spunta" la checkbox, l'intera riga del grid si dovrebbe colorare e rimanere colorata;
2- devo fare una funziona del tipo: invia una mail/sms a tutti i clienti selezionati. Quindi come faccio un ciclo per vedere tutti i clienti selezionati?
3- si potrebbe mettere una checbox come intestazione di colonna. Se l'utente spunta questa chekbox seleziona, quindi il programma spunta, tutte le schede?
Ciao
DomA
Profilo
| Expert
537
messaggi | Data Invio:
ven 8 lug 2011 - 22:51
Ti conviene inserire un altro post e chiudere il presente.
Intanto ti suggerisco questo:
http://www.pierotofy.it/pages/search/datagridview+++checkbox/?PHPSESSID=cca7ca0628554d7b9728ed20ecbed869
Ciao
Domenico
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 !