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

 

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

Gridview - HyperLinkField Issue

Îåêßíçóå áðü ôï ìÝëïò it048. Τελευταία δημοσίευση από το μέλος evliatsas στις 22-12-2010, 10:47. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  21-12-2010, 22:43 61843

    Gridview - HyperLinkField Issue

    Καλησπέρα,

    έχω ένα gridview όπου η 1η στήλη είναι HyperLinkField και όταν κάνει databaound το gridview, όταν πάει να διαβάσει το HyperLinkField ως row.Cells(0).Text και ενώ έχει κείμενο στη βάση,το  βγάζει row.Cells(0).Text = "" με αποτέλεσμα να μου βάζει σφάλμα σε μία function που δίνω στο row.Cells(0).Text επειδή θέλει να πάρει σαν imput text.

    For Each row As GridViewRow In GridView1.Rows

    For i As Integer = 0 To 3

    row.Cells(i).Text = function(row.Cells(i).Text)

    Next

    Next

     

    αν το i το βάλω από 1 - 3 τότε οι άλλες στήλες είναι μία χαρά

  •  22-12-2010, 00:49 61845 σε απάντηση της 61843

    Απ: Gridview - HyperLinkField Issue

    Καλησπέρα

     

    Το πρόβλημα το αντιμετωπίζεις γιατί το GridView χρησιμοποιεί ένα HyperLink Control ως το Container για το κελί της στήλης με τύπο HyperLinkField.

    Για να "πάρεις" λοιπόν τιμή από τις ιδιότητες του πεδίου, θα πρέπει πρώτα να κάνεις reference στο container control, π.χ.

            Dim textString As String
            Dim urlString As String
            Dim hyperLink As HyperLink
            'Παίρνουμε το referene στο HyperLink Control του κελιού
            hyperLink = GridView1.Rows(0).Cells(0).Controls(0)
            'Μπορούμε τώρα να πάρουμε την τιμή από όποια ιδιότητά του
            textString = hyperLink.Text
            urlString = hyperLink.NavigateUrl
  •  22-12-2010, 03:54 61846 σε απάντηση της 61845

    Απ: Gridview - HyperLinkField Issue

    Ευχαριστώ πολύ. Το έκανα και δούλεψε.

    Τώρα όμως πως θα δώσω στο HyperLinkField τη νέα τιμή που θα δημιουργηθεί από τη function?

  •  22-12-2010, 10:47 61851 σε απάντηση της 61846

    Απ: Gridview - HyperLinkField Issue

    Ένας τρόπος (ακολουθώντας την παραπάνω λογική του HyperLink Control) είναι να δημιουργήσεις ένα νέο Control με τα Properties που επιθυμείς και έπειτα να το αναθέσεις στον Container του επιθυμητού κελιού του GridView.  π.χ.

            'Δημιουργούμε ένα νέο Control
            Dim hyperLink As New HyperLink
            'Ορίζουμε τα επιθυμητά Properties
            hyperLink.Text = ".NET Rules"
            hyperLink.NavigateUrl = "http://www.dotnetzone.gr"
            'Καθαρίζουμε τον Container του κελιού
            GridView1.Rows(0).Cells(0).Controls.Clear()
            'Ορίζουμε στο κελί ως περιεχόμενο το Control που δημιουργήσαμε
            GridView1.Rows(0).Cells(0).Controls.Add(hyperLink)
     
    Μπορείς βέβαια να διαβάσεις το υπάρχον HyperLink Control, να αλλάξεις το επιθυμητό Property και να το αναθέσεις εκ νέου στο κελί.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems