Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[C#] listbox updaten na sluiten popup

Pagina: 1
Acties:

  • tha_crazy
  • Registratie: Maart 2007
  • Laatst online: 15-11 22:46
Hey mensen, ik zit met een probleem waar ik maar niet uit kan komen.
loop nu al 3 dagen te zoeken maar kan het echt nergens vinden.

Mijn probleem is als volgt:
voor school moet ik een incidenten registratie systeem maken, dit moet er beetje windows style uitzien ecetera.
Nu zit er in die incidentenapplicatie een zoekfunctie waarmee je ze kan opzoeken, deze krijg je dan in 3 groepen te zien:
- Hardware
- Software
- Overig
deze worden allemaal in een aparte listbox weergeven.
Onderaan deze listbox kan je op een knop drukken zodat je meer details kan zien, dit wordt geopend in een pop-up window.
Zodra je klaar bent met wijzigingen aan te brengen en je slaat het op sluit de pop-up automatisch af.
Nu wil ik dat zodra je er 1tje hebt geupdate, bijvoorbeeld van hardware naar software, dat de listboxen automatisch updaten.

Is er enige manier om dit te doen ?

Alvast bedankt,
Vincent

  • 418O2
  • Registratie: November 2001
  • Laatst online: 15-11 17:21
wat heb je zelf opgezocht?

Je kan voor het sluiten van de popup met javascript een window.opener.reload(); of
JavaScript:
1
window.opener.location.href = window.opener.location.href;

[ Voor 4% gewijzigd door 418O2 op 26-09-2008 09:47 ]


  • beany
  • Registratie: Juni 2001
  • Laatst online: 14:01

beany

Meeheheheheh

Ajax lijkt me... als ik het verhaal tenminste goed begrijp...

[ Voor 58% gewijzigd door beany op 26-09-2008 09:48 ]

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


  • tha_crazy
  • Registratie: Maart 2007
  • Laatst online: 15-11 22:46
Ik heb zelf geprobeer de seach functie te benaderen onderandere.
de listboxen ook.
het hele form de refreshen.
heel C# corner afgezocht en daar ook al een topicje op geplaatst want het is echt een bottleneck.
Voordeel is dat de rest van de applicatie nog niet af is en dat ik het pas in december af hoef te hebben :D

maar het is C# he, geen webbased application maar een standaart windows application.

  • m33p
  • Registratie: September 2002
  • Laatst online: 27-10 23:58
Volgens mij staat er toch duidelijk C# in de titel Catch22 en beany, m.a.w. geen IE/FF/whatever pop-up maar een nieuw venster.

  • 418O2
  • Registratie: November 2001
  • Laatst online: 15-11 17:21
Dus? Je kan gewoon met je C# javascript in je pagina injecteren. Of is het geen webapp ?

  • tha_crazy
  • Registratie: Maart 2007
  • Laatst online: 15-11 22:46
418O2 schreef op vrijdag 26 september 2008 @ 09:54:
Dus? Je kan gewoon met je C# javascript in je pagina injecteren. Of is het geen webapp ?
zie mijn vorige post
is geen web application maar een windows application

  • 418O2
  • Registratie: November 2001
  • Laatst online: 15-11 17:21
Dat werd mij niet duidelijk. C# impliceert niet per se een windows app. Maar dan kan ik niet verder helpen :)

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

De eenvoudigste oplossing:
Je zult een PopulateList() functie moeten maken. Vanuit de constructor roep je voor het eerst PopulateList() aan.

In de button click handler open je vervolgens de popup via ShowModal aan. De code in het hoofdform stopt dus bij deze aanroep en gaat weer verder zodra het scherm gesloten wordt) en zodra het scherm wordt gesloten. Daarna roep je direct weer PopulateList() aan.

If it isn't broken, fix it until it is..


  • Spiral
  • Registratie: December 2005
  • Niet online
Er zijn meerdere mogelijkheden om dat te doen.
- Je zou het kunnen doen dmv event afvuren in het detailformulier wat je gekoppeld hebt aan je hoofdformulier
- of op een makkelijke manier. In het detailformulier een public methode maken die je bij unload van je detailformulier vult. Dan roep je na het sluiten van je detailformulier in je hoofdformulier de methode aan van het detailformulier

C#:
1
2
3
4
5
6
Form x = new Form();
x.ShowDialog();
//x is closed
//Roep gemaakte methode aan
ArrayList<MijnWijzigingen> = x.HaalMijnWijzigingenOp();
//Doe wijzigingen

To say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, and of what is not that it is not, is true. | Aristoteles


  • tha_crazy
  • Registratie: Maart 2007
  • Laatst online: 15-11 22:46
Niemand_Anders schreef op vrijdag 26 september 2008 @ 10:04:
De eenvoudigste oplossing:
Je zult een PopulateList() functie moeten maken. Vanuit de constructor roep je voor het eerst PopulateList() aan.

In de button click handler open je vervolgens de popup via ShowModal aan. De code in het hoofdform stopt dus bij deze aanroep en gaat weer verder zodra het scherm gesloten wordt) en zodra het scherm wordt gesloten. Daarna roep je direct weer PopulateList() aan.
ik dank u zeer, ik wist niet dat na showdialog de code stopte, nu dus wel.

ziet er nu zo uit:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
            try
            {
                Forms.Incidents.frmAlter.problem = lbxHardware.SelectedItem.ToString();
                Forms.Incidents.frmAlter._hardware = true;
                Forms.Incidents.frmAlter._software = false;
                Forms.Incidents.frmAlter._other = false;
                Form frm = new Forms.Incidents.frmAlter();
                frm.ShowDialog();
                btnSearch_Click(this, e);
            }
            catch
            {
                MessageBox.Show("No item selected.","Notice");
            }

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Ik zou wel de code uit btnSearch_click in een aparte functie plaatsen. Het is niet echt de bedoeling dat je zelf event handler gaat aanroepen. Die functie roep je dan aan vanuit btnSearch_click en na ShowDialog.

If it isn't broken, fix it until it is..

Pagina: 1