Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με DataGridView

Îåêßíçóå áðü ôï ìÝëïò rantanplan. Τελευταία δημοσίευση από το μέλος rantanplan στις 03-08-2007, 18:18. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-08-2007, 14:02 34070

    Πρόβλημα με DataGridView

    Καλησπέρα παιδιά.

    Έχω ένα πίνακα με 4 στήλες και θέλω να φορτώσω τα δεδομένα του (των 2 στηλών μόνο, δηλαδή τα υπόλοιπα στοιχεία απλώς να μην φαίνονται στο DataGridView) σε ένα DataGridView (σε VB). Γράφω τα εξής:

     

    Dim SQL As String

    SQL = "select * from drive order by descr"

    Dim tkalDataTable As DataTable

    Dim i as Integer

    tkalDataTable = GetTable(SQL)   'η συνάρτηση GetTable(SQL) φορτώνει τα δεδομένα με βάση το SQL ερώτημα σε ένα DataTable. ΕΙΝΑΙ ΤΣΕΚΑΡΙΣΜΕΝΗ ΟΤΙ ΔΟΥΛΕΥΕΙ!!

     

    i= 0

    For i= 0 To tkalDataTable.Rows.Count - 1

          DataGridView1.Item(i, 0).Value = tkalDataTable.Rows(i).Item(0).ToString

          DataGridView1.Item(i, 1).Value = tkalDataTable.Rows(i).Item(1).ToString

    Next i

    Και ορίζω 2 Columns στο DataGridView.

     

    Δεν παίζει..... Μου βγάζει error

    Index was out of range. Must be non-negative and less than the size of the collection.
    Parameter name: index

    Μπορεί κανείς να βοηθήσει.....

    Ευχαριστώ πολύ....


    Keep programming.....
  •  03-08-2007, 16:05 34078 σε απάντηση της 34070

    Re: Πρόβλημα με DataGridView

    Αρχικά το πρόβλημα είναι ότι δεν μπορείς να αναφέρεσαι σε αντικείμενα που δεν υπάρχουν.

    Για παράδειγμα στο Datagrid πορσπαθείς να βάλεις στοιχεία στις θέσεις (ι,0) και (i,1). Δεν είναι Excel. To datagrig εχει rows που πρέπει να προσθέσεις και να δώσεις τιμές.

    Βέβαια υπάρχει η εύκολη λύση. Στο SELECT αντί για * (όλα) βάλε τα πεδία που θέλεις μόνο

    Select field1 as [ΠΕΡΙΓΡΑΦΗ 1], field2 as [ΠΕΡΙΓΡΑΦΗ 2]
    FROM drive ORDER BY descr

    κάνε μετά bind το αποτέλεσμα με το DataGrid και είσαι έτοιμος. Δεν υπάρχει λόγος για την λούπα (FOR) αν δεν κάνεις αλλαγες στα δεδομένα!

    -------------------------------
    Κ. Γιαγιάς

    Θα ήθελα να είμαι μέσα στην φωτογραφία και όχι εδώ!!!!

    http://beastie06.wordpress.com
  •  03-08-2007, 18:18 34087 σε απάντηση της 34078

    Απ: Re: Πρόβλημα με DataGridView

    Πρέπει δηλαδή να χρησιμοποιήσω την μέθοδο Add() μάλλον πριν αναφερθώ στις θέσεις (ι,0) και (i,1);;

    Βασικά δεν το έχω ξανακάνει για αυτό δεν ξέρω τι ακριβώς να κάνω.

    Επίσης θέλω ο χρήστης να τροποποιεί τα δεδομένα του Grid και μετά να τα αποθηκεύω πάλι., όσον αφορά το FOR που μου έγραψες.

     

    Σε ευχαριστώ!!!


    Keep programming.....
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems