C# vilken event ska man använda med en combobox?

Permalänk
Medlem

C# vilken event ska man använda med en combobox?

Jag har en combobox i C# där man kan välja mellan ja och nej och denna finns på en rad olika poster i en databas. Jag vill känna av om användaren klickar ja men endast en gång. Problemet med alla event jag har provat är att den sen reagerar varenda gång jag väljer posten som har ja valt i dropboxen även om jag inte ens klickar på den. Jag vill bara att den ska känna av om användaren gör ett aktivt val och ändrar statusen. Vilket event ska jag använda för detta?

Permalänk
Medlem

Kanske göra en global variabel som sätts till true eller dylikt efter att användaren har klickat i boxen första gången. Då skulle du kunna ha en if-sats i början på eventet som kollar om variabeln är true i så fall så avbryt vidare exekvering av koden?

/Ullman

Permalänk
Medlem

Om jag förstår dig rätt så vill du inte känna av varje tryck på samma värde - även fast du trycker fler gånger?
Jämför det nya värdet med ditt gamla - är det inte samma värde så gör du det du ska, annars avbryter du?

Permalänk
Medlem

Vet inte vad det har med C# at göra, för i slutändan kommer du behöva skriva en fråga som din databasmotor förstår.

Jag hade som ovan sagt. Använd en variabel som du skickar till en databas query.

om du klickar på en knapp eller vad du nu gör så låt variabeln t.ex. knappTryck ++;
Alternativt checkBox = true eller false..

Höftar lite eftersom jag inte vet vad du vill åstakomma

Sedan bara skicka som sträng eller vad du nu vill till din metod/funktion som kör queryn mot databasen.

Nu är jag mest insatt i java men om du vill åstadkomma endast ett klick:

boolean klickedOnce = false; if(!klickedOnce){ klickedOnce = true; databaseQuery(); }

Permalänk
Medlem

Jag var kanske lite otydlig i min beskrivning som jag skrev något hastigt Har gjort en skärmdump av mitt program nedan för att göra det tydligare. I datagridview som jag har markerat med rött väljer man olika poster i databasen. Varje post har comboboxen som jag har markerat där man kan välja mellan ja och nej. Problemet som jag har är att om man exempelvis sätter Anders Andersson som färdig så triggas eventet varje gång jag väljer posten Anders Andersson även om jag senare inte ändrar något i comboboxen utan bara väljer posten ifrån databasen i den röda rutan längst nere. Jag hoppas denna beskrivning är något bättre

Permalänk
Medlem

Du använder data bindings på de kontroller som visar detaljerna?

Oavsett så är det väl fullt naturligt att ComboBoxens event för att värdet i ComboBoxen ändras triggas när värdet i ComboBoxen ändras? Även om värdet ändras genom kod, inte genom direkt användarinteraktion på ComboBoxen.

Enligt dokumentationen verkar SelectionChangeCommitted vara begränsat till användarinteraktion, till skillnad från SelectedIndexChanged.

Ett alternativ är att plocka bort event handlern från eventet medan du byter data som ska visas och sätta tillbaka den efteråt.

Edit: det går antagligen att få in en ComboBox i din DataGridView så att man kan välja värde direkt där. Fråga mig inte hur man gör dock det var minst 10 år sedan jag bråkade med sådant sist.

Permalänk
Medlem

här är ett exempel där de lägger in en checkbox direkt i datagridview - borde kunna passa in för dig oxo

https://www.c-sharpcorner.com/UploadFile/deveshomar/adding-ch...

mvh Lazze