Problema con Binding Navigator

mercoledì 30 maggio 2007 - 07.45

Harlock83 Profilo | Newbie

Buonasera a tutti!

Sono nuovo del forum! E avrei qualche domanduccia da farvi dato che sono appena passato a sviluppare in VB.NET...

In particolare ho qusto problema:

Ho un oggetto BindingNavigator collegato ad un bindingsource che utilizzo per salvare una piccola anagrafica sul mio database access...

Ora il problema è che vorrei gestirmi l'abilitazione dei pulsanti del BindingNavigator come meglio credo... Per esempio quando clicco sul pulsante nuovo record voglio disabilitare i tasti di spostamento ed abilitare il tasto salva...

Bene... quando provo a farlo vedo che la cosa non ha effetto... come se il BindingNavigator gestisse da se l'abilitazione/disabilitazione dei pulsanti seguendo una sua logica (difatti quando sono sul primo record i pulsanti per muoversi sui record precedenti vengono disabilitati... ecc... ecc..)

Ho provato praticamente tutti gli eventi del binding navigator ma proprio non c'è stato verso...

Qualcuno sa darmi qualche dritta???

Vi ringrazio anticipatamente e scusatemi per la banalità della domanda!

Giscotech Profilo | Junior Member

Ciao Harlock83,

prova così:


Private Sub BindingNavigator1_ItemClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles BindingNavigator1.ItemClicked
If e.ClickedItem.Name = Me.BindingNavigatorAddNewItem.Name Then
Me.BindingNavigatorMoveNextItem.Enabled = False
Me.BindingNavigatorMovePreviousItem.Enabled = False
Me.BindingNavigatorSaveItem.Enabled = True
End If

End Sub

dovrebbe andare.

Giuseppe Scordo
Giscotech Informatics

Harlock83 Profilo | Newbie

Ti ringrazio molto per la risposta!

Ma il mio problema sta proprio quì...

dunque il codice che mi hai mandato funziona anche... ma è una coincidenza...

Cerco di spiegarmi meglio...

Se provi a prendere il BindingNavigator e semplicemente aggiungendolo alla form ed associandolo ad una sorgente dati e successivamente esegui vedrai che in automatico quando clicchi sul tasto aggiungi ti disabilita i due tasti movenext e movelast!!!

Questo perchè se fai un inserisci nuovo stai aggiungendo un record alla fine... e quindi non hai più record successivi! Semmai ne hai di precedenti! Ed infatti i tasti moveprevious e movefirst sono abilitati!

Difatti se provo ad utilizzare lo stesso codice ma a modificarlo facendogli disabilitare i tasti moveprevious e movefirst questo non funziona! (ovviamente devo avere dei record nella sorgente dati)

In pratica il binding navigator gestisce da se l'abilitazione e disabilitazione dei propri pulsanti.... il problema è che io vorrei bypassare questa gestione... oppure... meglio ancora.... correggerne alcuni comportamenti!

Spero di essermi spiegato decentemente...
AIUTATEMIIIII

Giscotech Profilo | Junior Member

Ma perchè non provi a realizzare a manina i pulsanti che ti servono e bindare su di essi da codice lo sposatamento tra i record della tua fonte dati?

E' normale che il binding navigator si adatti alle situazioni reali del momento. Giuastamente se ti trovi nel secondo record lui ti indicherà (facendo egregiamente il suo lavoro) che esiste un record precedente e quindi ti abiliterà il relativo pulsante. Ma questi sono dei comportamenti che stanno alla base della logica dell'oggetto. Non penso che tut possa modificarli

Ora se invece crei tu un sistema di spostamento tra i record , sarai sempre tu a sua volta a decidere i casi in cui dovranno essere abilitati i pulsanti o meno.

Giuseppe Scordo
Giscotech Informatics

Harlock83 Profilo | Newbie

Mi hai dato un'ottima idea! appena posso provo ma direi che come dici funziona... perchè avevo notato che aggiungendo un pulsante creato da me ovviamente potevo gestirne l'abilitazione come voglio!

Solo che mi sembra scomodo dover ricreare tutti i pulsanti ed associarli alle relative funzioni solo per gestirne l'abilitazione!

Comunque grazie mille per l'aiuto!

Teech Profilo | Expert

>Solo che mi sembra scomodo dover ricreare tutti i pulsanti ed associarli alle relative funzioni >solo per gestirne l'abilitazione!

Ereditarietà
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

Giscotech Profilo | Junior Member

Questo non è un lavoro che ti servirà solo per l'abilitazione dei pulsanti.

In un futuro potresti aver bisogno di far effettuare al tuo programma operazioni più complesse intercettando gli eventi di questi pulsanti ed allora il binding navigator potrebbe risultare limitato per la loro realizzazione.

Comunque sono a tua disposizione per eventuali chiarimenti o difficoltà.

Se ti è stato utile uno dei miei post accetta la risposta!

Ciao

Giuseppe Scordo
Giscotech Informatics
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