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

 

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

Ερώτηση περί DataGridViewComboBoxColumn

Îåêßíçóå áðü ôï ìÝëïò gmlogic. Τελευταία δημοσίευση από το μέλος gmlogic στις 24-11-2006, 12:19. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  23-11-2006, 15:58 21021

    Geeked [8-|] Ερώτηση περί DataGridViewComboBoxColumn

    Έχω τα εξής πχ

    m_dtDELAYS είναι ο πίνακας με τα data

    Dim dvDELAYS As New DataView(m_dtDELAYS)

    binding1.DataSource = dvDELAYS

    BindingNavigator1.BindingSource = binding1

    Me.GmDgView1.DataSource = binding1

    Ένα πεδίο του πίνακα πχ είναι string το FDAY και θέλω  η column  που αναφέρετε σε αυτό πεδίο να είναι DataGridViewComboBoxColumn ώστε να έχει επιλογές ο χρήστης να έχει συγκεκριμένες επιλογές

    Δίνω

    Dim column As New DataGridViewComboBoxColumn()

    SetAlternateChoicesUsingItems(comboboxColumn)

    comboboxColumn.HeaderText = _

    "ΗΜΕΡΟΜΗΝΙΑ 1"

    With comboboxColumn

    .DataPropertyName = "FDAY"

    .DropDownWidth = 160

    .Width = 90

    .MaxDropDownItems = 3

    .FlatStyle = FlatStyle.Flat

    End With

    GmDgView1.Columns.Insert(3, comboboxColumn)

    ...................

    Private Shared Sub SetAlternateChoicesUsingItems( _

    ByRef comboboxColumn As DataGridViewComboBoxColumn)

    Dim myArrF() As String = ("Ημ/νία Τρέχουσα,Ημ/νία Παραγγελίας,Από Βαφείο,Πρός Τζάμια").Split(",")

    With comboboxColumn

    .Items.AddRange(myArrF)

    End With

    End Sub

    -------------------

    'Οταν πάει το mouse πάνω στο grid πέρνω exeption

    System.ArgumentException:DataGridViewComboBoxCell value is not valid

    To replace the default dialog please handle the DataError event

    --------------------

    Σας ευχαριστώ εκ των προτέρων

     


    George Matzouranis
  •  23-11-2006, 17:11 21022 σε απάντηση της 21021

    Απ: Ερώτηση περί DataGridViewComboBoxColumn

    Οι τιμές που του δίνεις είναι τύπου string, ενώ η τιμή της στήλης είναι ημερομηνία. Πρέπει να του δώσεις μια λίστα από αντικείμενα, τα οποία έχουν ένα property με το κείμενο και ένα με την ημερομηνία, και να θέσεις το DisplayMember του combo στο πρώτο property και το ValueMember στο δεύτερο. Εναλλακτικά μπορείς να τα βάλεις σε ένα DataTable ή άλλο collection και να το θέσεις ως DataSource.

    Νατάσα Μανουσοπούλου
  •  24-11-2006, 10:30 21062 σε απάντηση της 21021

    Απ: Ερώτηση περί DataGridViewComboBoxColumn

    Νατάσα οι τιμές του FDAY είναι string και δίνη ο χρήστης επιλογές πχ

    "Ημ/νία Τρέχουσα,Ημ/νία Παραγγελίας,Από Βαφείο,Πρός Τζάμια"

    για να γίνη μετά filter ανάλογα την τιμή του πεδίου ως string.

    Μέσω της

    Private Shared Sub SetAlternateChoicesUsingItems( _

    ByRef comboboxColumn As DataGridViewComboBoxColumn)

    Dim myArrF() As String = ("Ημ/νία Τρέχουσα,Ημ/νία Παραγγελίας,Από Βαφείο,Πρός Τζάμια").Split(",")

    'myArrF = ("Ημ/νία Τρέχουσα,Ημ/νία Παραγγελίας,Από Βαφείο,Πρός Τσάμια").Split(",")

    With comboboxColumn

    .Items.AddRange(myArrF)

    End With

    End Sub

    Πέρνη τις επιλογές το dataGridViewComboBoxColumn
    Το προβλημά μου είναι
    πχ έχουμε ένα binding1 το συνδέουμε με μια dataview
    Στη συνέχεια έχουμε BindingNavigator1 control συνδεδεμέμο με το binding1
    Και ένα datagridview συνδεδεμέμο με το BindingNavigator1
    Το datagridview γεμίζη με όλες τις στήλες της dataview
    Σε μία λοιπόν στήλη την FDAY θέλω να έχω dataGridViewComboBoxColumn
    Κάνω λοιπόν

    GmDgView1.Columns.Remove("FDAY")
    και μετά
    Dim column As New DataGridViewComboBoxColumn() 'DataGridViewCheckBoxColumn()

    With column

    .DataPropertyName = "FDAY"

    .HeaderText = "FDAY"

    .Name = "FDAY"


    .CellTemplate = New DataGridViewComboBoxCell

    End With

    και μετά

    GmDgView1.Columns.Insert(3, column)

    τι κάνω λάθος :)

    ΥΓ

    Πως είναι η σύνταξη της sub για να πιάσω το

    System.ArgumentException:DataGridViewComboBoxCell value is not valid

    To replace the default dialog please handle the DataError event


    George Matzouranis
  •  24-11-2006, 11:03 21066 σε απάντηση της 21062

    Απ: Ερώτηση περί DataGridViewComboBoxColumn

    Αυτό που κάνεις είναι εν γένει σωστό, αν και π.χ. το CellTemplate δε χρειάζεται να το θέσεις. Το μόνο που μπορώ να υποθέσω είναι ότι έχεις data στον πίνακά σου που δεν συμφωνούν με κανένα από τα 4 strings που δίνεις. Όσο για το μήνυμα λάθους, στο λέει καθαρά: Πιάσε το DataError που είναι event του DataGridView σου. Εκεί θα δεις ποιο ακριβώς είναι το πρόβλημα.

    Νατάσα Μανουσοπούλου
  •  24-11-2006, 12:19 21075 σε απάντηση της 21021

    Απ: Ερώτηση περί DataGridViewComboBoxColumn

    Νατάσα σε ευχαριστώ.

    Μπορείς σε παρακαλώ να μου πείς πω θα κάνω handle the DataError event

    γιατί μόλις εμφανίζη τή φόρμα βγαίνη άμεσα το msgbox με το μύνημα.

    Α κάτι ακόμα, αν είναι άδειος ο πίνακας με αφίνη να κάνω επιλογή στο

    DataGridViewComboBoxColumn.

    Μου φέρνη λοιπόν τη επιλογή στο cell FDAY πχ "Ημ/νία Παραγγελίας" το σώζω.

    Όταν ξανακαλέσω το DataGridView τότε κτυπάει


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