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

 

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

Data Table και εικόνες

Îåêßíçóå áðü ôï ìÝëïò epp1123. Τελευταία δημοσίευση από το μέλος epp1123 στις 29-07-2008, 09:57. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  28-07-2008, 15:13 43743

    Data Table και εικόνες

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            'Κολώνα Φωτογραφία

    dtCars.Columns.Add("Φωτογραφία", GetType(ImageField))

    Dim CarPhoto As ImageField

    For Each dr As Data.DataRow In dtCars.Rows

    CarPhoto = New ImageField
    CarPhoto.DataImageUrlField = dr("Cars_Photo1").ToString
    dr("Φωτογραφία") = CarPhoto

    Next
    Καλησπέρα.

    Έχω ένα datatable και θέλω στη μία κολώνα να του περάσω εικόνες. Δυστυχώς όταν τρέχω τον κώδικα στην κολώνα δεν παίρνω τη φωτό, αλλά το

    εξής κείμενο "ImageField". Να τονίσω ότι το table στο τέλος το "καρφώνω" σε ένα grid τρίτου κατασκευαστή. Υπάρχει περίπτωση να φταίει αυτό. Σας δίνω και τον κώδικα μου
  •  28-07-2008, 16:53 43748 σε απάντηση της 43743

    Απ: Data Table και εικόνες

    Από ότι ξέρω αυτό που πας να κάνεις δεν γίνεται. Για να εμφανίσεις μια εικόνα στο datagrid πρέπει να πρώτα να την "σώσεις" κάπου από την βάση και μετά να δώσεις αυτό το path στο
    DataImageUrlField. 

    Ο καλύτερος τρόπος είναι να εμφανίσες την εικόνα σου σε μια άλλη aspx σελίδα και να κάνεις bind εκεί.

    Τσέκαρε αυτό το παράδειγμα που εξηγεί αναλυτικά τον τρόπο.


    Manos
  •  28-07-2008, 17:05 43749 σε απάντηση της 43743

    Απ: Data Table και εικόνες

    Οι φωτό είναι σε φάκελο και όχι στη βάση. Λοιπόν να γίνω πιο αναλυτικός.

    Έχω ένα dataset, που γεμίζει από ένα adapter. Ύστερα αυτό το dataset θέλω να το καρφώσω σε ένα data grid.

    Θέλω η μία κολώνα του grid να δείχνει μόνο φωτογραφίες, οι οποίες βρίσκονται σε έναν φάκελο. Να τονίσω ότι στη βάση υπάρχει αποθηκεύμενο το path όπου βρίσκονται οι φωτό. Μέσα σε έναν φάκελο είναι όλες.  Δοκίμασα τον παραπάνω κώδικα έτσι όπως σαν τον έβαλα αλλά και παραλαγμένο, αλλά τίποτα. Είτε το path της φωτό θα μου βγάλει είτε το "System.Web.UI.Image" , ή το "ImageField". Υπάρχει η σκέψη να πρέπει να περάσω την φωτό σαν bytes για να την δείξω στο grid, αλλά δεν ξέρω σαν λογική αν είναι σωστή.

    Αριγκάτο
  •  29-07-2008, 09:33 43760 σε απάντηση της 43749

    Απ: Data Table και εικόνες

    Ο κώδικας που δίνεις κάνει κάποια περίεργα πράγματα. Καταρχήν προσθέτει μία στήλη τύπου Image. Η νέα στήλη λογικό είναι να μην περιέχει δεδομένα εφόσον δεν τα έχεις φορτώσει ακόμα. Μετά γράφεις dr("Cars_Photo1").ToString(), ζητάς δηλαδή να μετατραπεί το περιεχόμενο της στήλης σε string. Δηλαδή ζητάς η εικόνα να γίνει string. Καθώς δεν υπάρχει συγκεκριμένος τρόπος τα binary data της εικόνας να μετατραπούν σε string, το .NET εκτελεί τη default ToString() η οποία επιστρέφει το όνομα του τύπου της στήλης.

    Εφόσον ξαναγράψεις τον κώδικα ώστε να φορτώνει την Cars_Photo1 από τη βάση, όταν δηλαδή φορτώνεις τον πίνακα dtCars, και εφόσον η Cars_Photo1 περιέχει την εικόνα και όχι κάτι άλλο όπως το URL, μπορείς να χρησιμοποιήσεις την GetBytes για να φορτώσεις την εικόνα. Κοίτα και το Retrieving Binary Data.

    Αν η Cars_Photo1 περιέχει το URL μπορείς απλά να περάσεις το περιεχόμενο της στο ImageUrl του αντικειμένου Image.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  29-07-2008, 09:57 43762 σε απάντηση της 43760

    Απ: Data Table και εικόνες

    Το πεδίο στον πίνακα περιέχει μόνο το path της εικόνας, τίποτε άλλο. Γενικά, έτσι το δοκίμασα, να περάσω απλά το path στο image url και στο grid έβλεπα το path, σαν κείμενο. Δοκίμασα ImageField πάλι το ίδιο. Μάλλον κάνω κάπου το λάθος αλλά δεν μπορώ να καταλάβω που.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems