Avatar billede califfo Nybegynder
10. november 2005 - 12:45 Der er 17 kommentarer og
1 løsning

Indlæs fil i datagrid

Hvordan og hvorledes?

Jeg ved ikke om det er det smarteste at gøre, men jeg er ved at hente data ud fra en kommasepereret fil og vil gerne indlæse dataene i et vindue i mit program. Jeg har pt følgende kode til at indlæse filen, men hvordan viser dataene?

            int counter = 0;
            string line;

            // Read the file and display it line by line.
            System.IO.StreamReader file =
                new System.IO.StreamReader("c:\\temp/ConfigCollector");
            while((line = file.ReadLine()) != null)
            {
                Console.WriteLine (line);
                counter++;
            }

            file.Close();
Avatar billede Slettet bruger
10. november 2005 - 13:08 #1
Tilføj linierne til en ArrayList og lav et databind til et datagrid ?
Avatar billede califfo Nybegynder
10. november 2005 - 13:40 #2
...Hmmm,...

Jeg har prøvet at gøre hvad du lige har skrevet, men jeg er for grøn til det. Har du et forslag til hvordan det kan se ud? Skal jeg selv tilføje hver kolonne?
Avatar billede califfo Nybegynder
10. november 2005 - 13:42 #3
...Har lige fjernet:
Console.WriteLine (line);
da jeg ikke laver det i en konsol. Jeg er ved at lave et grafisk program der kan hente dataene ud fra en fil.
Avatar billede califfo Nybegynder
10. november 2005 - 14:21 #4
Lige nu ser min kode således ud:

        private void Devices_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
        {
            int counter = 0;
            string line;

            // Read the file and display it line by line.
            System.IO.StreamReader file =
                new System.IO.StreamReader("c:\\temp/ConfigCollector");
            while((line = file.ReadLine()) != null)
            {
                counter++;
                ArrayList list = new ArrayList();
                list.Add (line);
            }
}

Hvordan er det lige at jeg laver en binding til til datagrid'et?
Avatar billede Slettet bruger
10. november 2005 - 15:31 #5
vi skal lige have din ArrayList definition ud af while-loop, som nedenfor.

        private void Devices_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
        {
            int counter = 0;
            string line;
            ArrayList list = new ArrayList();

            // Read the file and display it line by line.
            System.IO.StreamReader file =
                new System.IO.StreamReader("c:\\temp/ConfigCollector");
            while((line = file.ReadLine()) != null)
            {
                counter++;
                list.Add (line);
            }
}


På din datagrid sætter du datasource og kalder databind, men check msdn dokumentation http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebUIWebControlsDataGridMethodsTopic.asp
Avatar billede califfo Nybegynder
11. november 2005 - 10:06 #6
Hmmm,... hvad skal jeg sætte DataSource til? Jeg får 4 valgmuligheder: "listView1.Columns", "listView1.Items", "statusBar1.Panels" og "treeView1.Nodes". Jeg tror ikke ligefrem det er dem jeg skal bruge. Hvor har jeg fejlet?
Avatar billede Slettet bruger
11. november 2005 - 11:39 #7
DataSource skal være list i hvertfald
Avatar billede califfo Nybegynder
14. november 2005 - 09:00 #8
...Jeg har ikke glemt dig. Jeg arbejder stadig med dine svar.
Avatar billede califfo Nybegynder
16. november 2005 - 11:28 #9
Ok. Nu er jeg tilbage. Jeg har nusset lidt med dit svar, men har endnu ikke fået det til at virke. Som du skrev, skulle DataSource være list. Det fortolker jeg til at være "listView1.Columns". Når det er valgt, så kommer der 3 kolonner frem i mit design. Kolonnerne hedder: "TextAlign", "Text" og "Width". Jeg ved ikke hvor jeg kan ændre disse, eller om det er forkert det som er lavet indtil nu.

Jeg ved godt det er på et ret lavt niveau du hjælper på her, men hav venligst tålmodighed. Er stadig MEGET grøn som programmør.
Avatar billede califfo Nybegynder
22. november 2005 - 11:10 #10
Øhmm,... har du forstuvet dine fingre? ;-)
Avatar billede califfo Nybegynder
22. november 2005 - 14:31 #11
Er det sådan her du mener?       


private void Devices_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
        {
            int counter = 0;
            string line;
            ArrayList list = new ArrayList();

            // Read the file and display it line by line.
            System.IO.StreamReader file =
                new System.IO.StreamReader("c:\\temp\\ConfigCollector");

            while((line = file.ReadLine()) != null)
            {
                counter++;
                this.Devices.DataSource = list.Add (line);
            }
           

            file.Close();
       
        }
Avatar billede Slettet bruger
22. november 2005 - 15:31 #12
private void Devices_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
        {
            int counter = 0;
            string line;
            ArrayList list = new ArrayList();

            // Read the file and display it line by line.
            System.IO.StreamReader file =
                new System.IO.StreamReader("c:\\temp\\ConfigCollector");

            while((line = file.ReadLine()) != null)
            {
                counter++;
                list.Add (line);
            }
         

            file.Close();

            this.Devices.DataSource = list;

            this.Devices.DataBind();

     
        }
Avatar billede califfo Nybegynder
22. november 2005 - 16:38 #13
Ok. Det er så gjort. Jeg får dog denne fejlmeddelelse:

D:\Dokumenter\Visual Studio Projects\ConfigCollector_v2_000\CC_v2_000.cs(758): 'System.Windows.Forms.DataGrid' does not contain a definition for 'DataBind'

Jeg går ud fra at det er fordi jeg mangler at definere DataBind. Hvor og hvordan gør jeg det?

PS. Jeg har vist givet dig grå hår i hovedet. Du får lige 30 point mere for din hjælpsomhed og tålmodighed. Jeg laver et indlæg du bare skal svare på.
Avatar billede Slettet bruger
23. november 2005 - 07:23 #14
Ifølge dok har DataGrid en metode DataBind() ???
Avatar billede califfo Nybegynder
23. november 2005 - 10:47 #15
Hmmm,... ja. Men hvad er det så fejlmeddelelsen betyder? Har jeg glemt noget?
Avatar billede califfo Nybegynder
24. november 2005 - 13:27 #16
Jeg har nu prøvet mig lidt frem. Hvis jeg skriver:

"this.Devices."

kommer der er en liste frem med mulighed for at skrive forskellige ting. Det nærmeste jeg kommer på "DataBind();" er "DataBindings();". Desværre giver det bare en anden fejlmeddelelse.

Jeg har søgt på google og fundet ud af at jeg ikke er den eneste med dette problem, men jeg har stadig ikke fundet noget svar på det,...
Avatar billede califfo Nybegynder
25. november 2005 - 09:54 #17
...Så er problemet løst.

Hvis du vil have dine point, må du lige sende et svar...
Avatar billede califfo Nybegynder
01. februar 2006 - 16:02 #18
Tjaaa,...
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