Avatar billede l_storm Nybegynder
25. maj 2007 - 16:46 Der er 3 kommentarer

Tilgå felt i DataTable record

Hej
Jeg har et DataTable object som får input fra csv-fil via StreamReader (17col x 39 rows). Jeg ønsker at rette i enkelte felter  (f.eks. er der tomme records der skal slettes, og parametre kan være indtastet forkert, "2,5" istedet for "2.5").
Vha. en For-løkke kan jeg løbe igennem og få fjernet nogle af (!) de tomme records, men jeg kan ikke løse resten.

Nogen tips?

Lars
Avatar billede skov_p Praktikant
25. maj 2007 - 16:56 #1
Hvordan er dine cols separeret?
Når du har dit felt kan du lave

int idx = felt.IndexOf('.');
if(idx>0)
  felt = felt.Replace(".",",");
Avatar billede l_storm Nybegynder
27. maj 2007 - 12:33 #2
Cols er ";" separeret.
Jeg skal nok lidt tilbage til Adam og Eva, har ikke mit felt. Har forsøgt mig med diverse eksmpler med f.eks. Split() i flere versioner men er gået kold...
Jeg ønsker at:
1) læse fil-> første linje skal være header
2) læse øvrige datalinjer -> tilføje til header (ArrayList ?)
3) Replace(',', '.'); på et tidspunkt
4) check for f.eks. (col2 + col3 <= 100)  (procent)
5) data inkl. header skal ende i et GridView, derfor havde jeg lagt output i en DataTable -> DataBind()

Lars
Avatar billede skov_p Praktikant
29. maj 2007 - 08:43 #3
Split(";", StringSplitOptions.RemoveEmpty); burde virke men så mister dit index på de efterfølgende kolonner.

Lav en klasse der tager en string som param i constructoren.
Din string er så din ; separerede linie fra din fil.
Så kan du lave properties til feks. at se om Col2 + Col3 <= 100 og en metode til at få et DataRow objekt til din DataTabel
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester