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

 

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

Validation & dates in DataGridView

Îåêßíçóå áðü ôï ìÝëïò jtoutou. Τελευταία δημοσίευση από το μέλος KelMan στις 05-03-2009, 08:55. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  02-03-2009, 21:05 48817

    Validation & dates in DataGridView

    Καλησπέρα σε όλους..Πρώτο μου Post Εδώ..
    Οπότε συγχωρέστε με για τυχόν παρατυπίες..
    Έχω διαβάσει τα βασικά ίσως λίγο βιαστικά...Ίσως το κώδικα που θα παραθέσω παρακάτω να μην τον έχω βάλει σωστά όσoν αφορά σαν attachment..
    Το πρόβλημά μου είναι το εξής:
    Έχω ένα datagridview με τα εξής fileds:
    Status(Combo),DateBegin,DateEnd
    (Status & DateBegin no nulls) .Στο παρακάτω κώδικα πραγματοποιείται Validation σε Empty date string και σε not date input.Δεν έχω καταφέρει και έχω κολλήσει sτο να συγκρίνω τις δύο ημερομηνίες στο DategridView.
    Code:
    Private Sub Personnel_Status_JournalDataGridView_CellValidating(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles Personnel_Status_JournalDataGridView.CellValidating
    If e.ColumnIndex = 3 Then
    If Not IsDate(e.FormattedValue) Or CType(e.FormattedValue, String) = "" Then
    Personnel_Status_JournalDataGridView.Rows(e.RowIndex).ErrorText = _
    "Must be a Date or Not Empty (Required Date Field)."
    e.Cancel = True
    End If
    End If

    If e.ColumnIndex = 4 Then
    If Not IsDate(e.FormattedValue) Then
    Personnel_Status_JournalDataGridView.Rows(e.RowIndex).ErrorText = _
    "Must be a Date ."
    e.Cancel = True

    End If
    End If

    If Me.Personnel_Status_JournalDataGridView.CurrentRow.Cells(4).Value

    MessageBox.Show("Error.Check Dates")

    End If
    End Sub

    'e.columnindex(3) είναι το DateBegin
    'e.columnindex(4) είναι το DateEnd



    2.Το dateEnd μπορεί να παραμείνει κενό..
    Όταν όμως θέλουμε να καταχωρήσουμε καινούριο Stautus θα πρέπει το DateEnd να είναι Filled.

    Κάθε βοήθεια είναι πολύτιμη....Ευχαριστώ
    Δημοσίευση στην κατηγορία:
  •  04-03-2009, 21:26 48906 σε απάντηση της 48817

    Απ: Validation & dates in DataGridView

    Μπορείς να βάλεις στο event DefaultValuesNeeded σε κάθε νέα γραμμή να δίνει τιμές
    και ο χρήστης να τις αλλάζει. Εφόσον λές ότι το Status δεν μπορεί να είναι null,
    θα έπρεπε και το  DateEnd να μην είναι ποτέ null. Επίσης παίξε λίγο με το formatting
    (δεν ξέρω τι έχεις κάνει ακριβώς), ή ακόμη καλύτερα κάνε τα cells DateTimePickers.
    Αποθηκεύεις σε βάση? και με ποιον τρόπο δουλεύεις? Μπορείς ακόμη να κάνεις validation
    πίσω απο το dataset για κάθε datatable.

    Δές αυτά τα videos, και επίσης αυτά.

    Ελπίζω να βοήθησα λίγο :)

  •  05-03-2009, 01:17 48913 σε απάντηση της 48906

    Απ: Validation & dates in DataGridView

    Σ'ευχαριστώ για τη βοήθεια.Κάποιες λεπτομέρειες να σου πω.
    Το Status είναι ένα Combo box με επιλογές που αφορούν έναν Υπάλληλο.
    πχ. Παρών ,Απών ,Άδεια, κλπ.
    Το DateBegin αφορά την Ημερομηνία που ξεκίνησε πχ η άδεια.
    Δεν απαιτείτε λοιπόν το DateEnd (Nonulls)
    Όταν λοιπόν θέλουμε μετά από κάποιο διάστημα να αλλάξουμε το Status θα πρέπει να έχουμε βάλει DateEnd, το οποίο θα πρέπει να είναι πάντα >του DateBegin.
    To βασικό μου ερώτημα είναι πώς να συγκρίνω τα value ουσιαστικά των 2 ημερομηνιών .
    Όσων αφορά τα datepickers έχω τα function απλά και πάλι οι ημερομηνίες πρέπει να συγκριθούν.

  •  05-03-2009, 08:55 48918 σε απάντηση της 48913

    Απ: Validation & dates in DataGridView

    Γενικά πάντως, καλό θα είναι (στο βαθμό που μπορείς να το κάνεις) να αποφύγεις το editing πάνω στο grid. Είναι πολύ καλύτερο να ανοίγεις νέα modal φόρμα έχοντας αναλύσει την εγγραφή σε ξεχωριστά controls καθώς έτσι είναι ευκολότερο το validation, έχεις χώρο να εμφανίσεις μηνύματα, κλπ. Εξάλλου αν σήμερα υπάρχει η ανάγκη να εφαρμόσεις μερικούς κανόνες validation, αύριο μπορεί να εμφανιστούν κι άλλοι κανόνες οπότε θα αρχίσει να μπλέκεται πολύ το πράγμα. Τώρα, αν ο πελάτης θέλει σώνει και καλά αλλαγές στο grid...


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