Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[C#] DataGridView insert data

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik ben bezig met een usercontrol met daarin een datagridview. Deze datagridview heeft een gekoppelde DataSource in de form van een BindingList<T>.
Als ik nieuwe items toevoeg aan de BindingList d.m.v. de methode Add, worden deze netjes onderaan in de lijst toegevoegd.
Is het ook mogelijk deze bovenaan in de lijst toe te voegen?

  • MLM
  • Registratie: Juli 2004
  • Laatst online: 12-03-2023

MLM

aka Zolo

gebruik Insert ipv Add, dan kan je opgeven waar iets toegevoegd moet worden ;)

-niks-


Verwijderd

Topicstarter
Bedankt!

Heb nu echter het volgende probleem.
Omdat de data continue (elke sec een nieuwe waarde) toegevoegd wordt wil alleen de laatste 50 rows laten zien. Ik gebruik nu de volgende code om data toe te voegen:
C#:
1
2
3
4
5
6
// remove last items in list
while (_measurements.Count > 50)
     _measurements.RemoveAt(50);

// add new item
_measurements.Insert(0,newMeasurement);

Hierbij is _measurements de BindingList<T>.

Tijdens het vullen van 0 naar 50 zie ik de rows netjes van bovenaan ingevoegd worden, als echter de 50+ gepasseerd is, springt de selectie in de grid naar de onderste rij.
Is het mogelijk de bovenste rij weer te selecteren? Ik zie in de DataGridView geen methode SelectRow o.i.d. staan.

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:01
Ehm, we willen je hier best helpen hoor, maar ik denk niet dat het de bedoeling is dat wij het hier voor jou verder afmaken.
Ik bedoel; als je voor ieder probleempje dat je tegenkomt hier een vraag gaat stellen .... Je kan toch zelf eerst eens eea bekijken ? Je hebt de MSDN tot je beschikking, daar kan je toch ook eerst eea in vinden dat je eerst eens zlf kunt uitproberen ?
Waarom verwijder je trouwens je items ? Kan je geen Filter instellen ?

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:01
Ik vind trouwens dat je verkeerd bezig bent ...

Ik zou mijn items toevoegen aan een eigen collectie, en een bindingsource gebruiken die de 'bridge' maakt tussen m'n domein collectie en mijn datagrid.
Dan zou ik er voor zorgen dat ik mijn bindingsource sorteer, zodat de data getoond wordt zoals ik het wil (bovenste eerst), al zit mijn data in een andere volgorde in mijn collectie.
Om er voor te zorgen dat slechts de recentste 50 items getoond worden, zou ik een Filter gebruiken, of eens met de RowCount property van de DataGridView spelen.

[ Voor 5% gewijzigd door whoami op 02-04-2008 20:01 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op woensdag 02 april 2008 @ 19:50:
Ehm, we willen je hier best helpen hoor, maar ik denk niet dat het de bedoeling is dat wij het hier voor jou verder afmaken.
Ik bedoel; als je voor ieder probleempje dat je tegenkomt hier een vraag gaat stellen .... Je kan toch zelf eerst eens eea bekijken ? Je hebt de MSDN tot je beschikking, daar kan je toch ook eerst eea in vinden dat je eerst eens zlf kunt uitproberen ?
Hmm, was niet de bedoeling jullie te gaan stalken met vragen (ben sinds vandaag lid en dit is mijn 2e post) De DataGrid is voor mij betrekkelijk nieuw en probeer hem voor mijn toepassing geschikt te maken. Misschien was mijn vraagstelling niet duidelijk.
whoami schreef op woensdag 02 april 2008 @ 19:50:
Waarom verwijder je trouwens je items ? Kan je geen Filter instellen ?
De reden waarom ik de items weer uit de lijst verwijder is dat het systeem continue draait en ong. elke sec. nieuwe data binnen krijgt. Als ik niets zou verwijderen zou ik geheugenproblemen krijgen.
whoami schreef op woensdag 02 april 2008 @ 19:59:
Ik vind trouwens dat je verkeerd bezig bent ...

Ik zou mijn items toevoegen aan een eigen collectie, en een bindingsource gebruiken die de 'bridge' maakt tussen m'n domein collectie en mijn datagrid.
Dan zou ik er voor zorgen dat ik mijn bindingsource sorteer, zodat de data getoond wordt zoals ik het wil (bovenste eerst), al zit mijn data in een andere volgorde in mijn collectie.
Om er voor te zorgen dat slechts de recentste 50 items getoond worden, zou ik een Filter gebruiken, of eens met de RowCount property van de DataGridView spelen.
Bedankt voor de tip,

Zal het e.a. zelf wel verder uitzoeken, Wat mij betreft topic closed.

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:01
Hmm, de RowCount werkt blijkbaar niet op databound grids...
Misschien dan toch maar met filter gaan werken.

De gegevens die je binnenkrijgt, zijn dan niet zo belangrijk dat je ze nergens moet gaan bewaren ofzo ?

https://fgheysels.github.io/


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

Niemand_Anders

Dat was ik niet..

Maar als de datagrid (en daarmee waarschijnlijk ook data binding) nieuw voor je is, waarom lees je dan niet eerst een paar artikelen over de datagrid of koop je een boek welke de stof behandeld?

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

Pagina: 1