Gå til innhold

C#: Trenger en grid for Tracker/Sequencer type.


Anbefalte innlegg

Hei,

 

Er ikke helt oppdatert på hvilke klasser man kan bruke når det kommer til

grids ala type i Excel, og for de som kjenner til gamle trackere som Fast Tracker 2 eller nyere som Renoise. Jeg trenger noe ala en sequencer/tracker. Har verken tid eller motivasjon til å lage noe helt fra scratch ved bruk av bitmaps og sånt.

 

Jeg vet fra før av, da jeg kodet i C++ for Win32 at man kunne bruke ListView, den er iofs ganske okey å bruke, men litt knotette oppbygning feks der er elementene bare sammensatt per rad. og jeg vil ha det per kolonne, altså lagre dataene (i cellene) på en fornuftig måte.

 

Et par eksempler:

modplug

renoise

 

også har jeg sett at det er noen nye klasser DataSet, DataGrid, DataGridView i C# osv..

Er det noen som har erfaring med disse og kan gi meg noen direksjoner på hva jeg burde sette meg inn i ? som kanskje vet hva jeg er ute etter?

Eller skal jeg holde meg til ListView greia?

 

Litt av poenget er at jeg skal kunne gå inn og endre på verdier i celler ved bruk av tastaturet (som gamle tracker-progs) og så hoppe til neste kolonne ved bruk av tab-feks.

Lenke til kommentar
Videoannonse
Annonse

hehe, gamle tracker progs ;-) Tror du det er mange som vet hva det er for noe ;-)

 

Anyway, jeg annbefaler deg å bruke DataGridView til dette. Den er litt annerledes oppbyggd en ListView, men ikke så vanskelig å forstå når man setter seg inn i den. Her er et lite eksempel:

class Record
{
public string Navn{get;set;}
public string Adresse{get;set;}
public int Alder{get;set;}
public Record(string pNavn, string pAdresse, int pAlder)
{
 Navn = pNavn;
 Adresse = pAdresse;
 Alder = pAlder;
}
}

List<Record> data = new List<Record>();

data.Add(new Record("Ole", "Gata3", 30));
data.Add(new Record("Hans", "Veien 12", 20));
data.Add(new Record("Grete", "Stien 2", 25));

MinDataGridView.Datasource = data;

 

Dermed har du en listboks som inneholder alle postene du har lagt inn. Du kan redigere direkte ved bruk av tastatur her også

Du kan hente data ut fra listen ved å addressere cellen:

 

string verdi = (string)(MinDataGridView[0, 1].Value);

0 og 1 betyr her kolonne 0 og rad 1.

Du kan også bruke navn direkte fordi vi i dette eksemplet bruker en klassse som grunnlag i datasource. Da blir koden slik:

string verdi = (string)(MinDataGridView["Adresse", 2].Value);

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...