Focus bloccato

mercoledì 27 maggio 2009 - 10.36

BalambSeed Profilo | Newbie

Salve a Tutti
sono nuovo di questo forum come sono nuovo con la programmazione in .net (prima usavo vb6 ma le applicazioni non vanno su vista)

il problema è il seguente:
ho una combo box che ha come origine dati la chiave primaria di una tabella di database e che viene usata come ricerca (non scrive nulla sul db, serve solo a posizionarsi sul record).
al cambio del valore della cbox una serie di textbox e label associate agli altri campi del record vengono aggiornate automaticamente

credo di aver fatto le cose correttamente dato che tutto funziona per quanto riguarda la visualizzazione dei dati

il problema è che quando tramite clic do il focus alla cbox non riesco più a toglierlo
ho provato anche a forzare la cosa da codice in questo modo

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

però non funziona

se qualcuno c capisce qualcosa è bravo
grazie in anticipo per l'aiuto che vorrete darmi

ciao a tutti

alexmed Profilo | Guru

Ciao
Così come dici sembrerebbe strano in effetti. Non è che nel resto del codice hai impostato proprio qls che blocchi il focus sulla cmb?
Magari postaci il resto del codice che utilizzi.

Ciao

alexmed

BalambSeed Profilo | Newbie

non ho usato nessun controllo che gestisca il focus (a parte i tentativi per spostarlo dalla combo box) in nessuna form del programma
ho anche cercato qualche proprietà del genere per contollare che fosse disabilitata o per disabilitare il focus da codice ma non ho trovato molto

un'ultima nota
ho provato a sostituire la cbox con una listbox ma la cosa non cambia

mi viene il dubbio di dover aggiungere qualche comando per il db però non ho idea di che tipo di comando possa essere

se serve posso postare tutto il cosdice della form ma verrebbe un po' lungo e molta roba cmq non ha nulla a che vedere con il problema

alexmed Profilo | Guru

Ciao
>non ho usato nessun controllo che gestisca il focus (a parte
>i tentativi per spostarlo dalla combo box) in nessuna form del
>programma

>ho anche cercato qualche proprietà del genere per contollare
>che fosse disabilitata o per disabilitare il focus da codice
>ma non ho trovato molto

Allora è molto strano. Per spostare il focus dovrebbe bastare il codice che hai postato prima nell'evento _SelectedIndexChanged della cmb.

>un'ultima nota
>ho provato a sostituire la cbox con una listbox ma la cosa non
>cambia

Mi sorge il dubbio allora che il problema sia nella TextBox di destinazione del focus (CMTextBox)


>se serve posso postare tutto il cosdice della form ma verrebbe
>un po' lungo e molta roba cmq non ha nulla a che vedere con il
>problema

Magari solo la parte relativa al caricamento dei dati sulla cmb

Ciao


alexmed

BalambSeed Profilo | Newbie

la cmtextbox è un esempio ne ho usate altre prima di lei e la cosa non cambia

so che sembra strano (lo sembra anche a me) ma non ci sono controlli di gestione del focus a codice

per quanto riguarda il caricamento dei dati nella combo box non è stata fatta a codice ma tramite le impostazioni automatiche (ho trascinato il campo da origini di dati e poi settato le informazioni relative (allego una screen con le impostazioni)


1280x800 143Kb

alexmed Profilo | Guru

Quello che ti propongo è solo una prova e se dovesse funzionare non chiedermi il perchè.

Presumo che nel campo "Valore selezionato" ci sia impostato l'id della tabella, quindi toglilo da lì e mettilo sopra in "Valore membro".

Ciao


alexmed

BalambSeed Profilo | Newbie

già provato ma non si può fare
se metto come valore menbro il campo RAGSOC ogni volta che cambia la proprietà text della combo box viene assegnato il suo valore a campo e dato che il campo in questione è la chiave primaria univoca mi da errore

alexmed Profilo | Guru

Ma attualmente (dalla img non si capisce) cosa hai impostato sotto "Valore selezionato" ?
alexmed

BalambSeed Profilo | Newbie

ho impostato come valore il campo RAGSOC
cmq ti allego le screen di tutti i dati che non si leggevano prima


1280x800 148Kb

1280x800 138Kb

alexmed Profilo | Guru

Ciao
A questo punto ti consiglierei di mettere nella TABCLIENTI una chiave primaria.
Sempre che ciò sia compatibile con il resto del programma.
Mi permetto di allegare un progettino esplicativo.
E' fatto con 2005 ma non ci sono problemi a convertirlo con 2008

Ciao


alexmed

BalambSeed Profilo | Newbie

ok stasera ci do un occhio poi ti farò sapere
grazie mille

BalambSeed Profilo | Newbie

ciao
ho dato un occhio al tuo codice
devo dire che è quasi identico al mio
ho provato anche a modificare le mie impostazioni prendendo il tuo codice come modello però non c'è nulla da fare

io continuo a studiarmelo cercando di capire dove sta il problema cmq ti allego il mio progetto se trovi il tempo di gurdarlo un attimo mi faresti veramente un grosso favore

non serve che controlli tutto il codice mi basta solo che guardi la form frmModificaClienti che è quella su cui stò sperimentando
grazie in anticipo per l'aiuto

BalambSeed Profilo | Newbie

Ho risolto
ho dovuto creare un campo ID con contatore Integer impostato come chiave primaria
quindi ho tolto il valore univoco a ragsoc
e ho tolto le impostazioni su valore selezionato nella cbox

sembra che così funzioni

EDIT: come non detto a parte la presenza di errori nella fase di salvataggio questo sistema mi funziona solo su questa form
sulle altre dove il comportamento della combo box dovrebbe essere analogo la cosa non funziona....

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