Hallöchen ich habe eine Datenbank programmiert.... Bisher wird die Darstellung als Tabelle durchgeführt (Listenansicht), das funktioniert auch alles.
Nun geht es darum eine Einzelansicht zu erstellen.
In der Listenansicht wird ganz einfach über die Spalten und Zeilen (also die Zelle) überprüft ob diese leer ist, wenn ja wird eine Fehlermeldung angezeigt.
Hat jemand für mich eine Idee wie ich das bei der Einzelansicht machen kann?
Tabelle geht ja ganz einfach über die Spalten und Zeilen:
siehe hier:
private: System::Void kundenDataGridView_CellValidating (System::Object^ sender, System::Windows::Forms::DataGridViewCellValidatingEventArgs^ e) {
//für die zusätzlichen Prüfungen der Postleitzahl
Boolean fehlerKeinEintrag=false;
Int32 postleitzahlTemp;
//überprüft werden nur die Spalten 2 bis 7
//der Index beginnt bei 0!
if ((e->ColumnIndex >0) && (e->ColumnIndex >6)) {
//ist der Eintrag leer?
if (e->FormattedValue->ToString() == String::Empty) {
//Meldung anzeigen
MessageBox::Show("Sie müssen einen Wert für " + kundenDataGridView->Columns [e->ColumnIndex]->HeaderText + "eingeben");
//den Fehlertext setzen
kundenDataGridView->Rows [e->RowIndex] -> Cells [e->ColumnIndex]-> ErrorText ="Die Zelle darf nicht leer sein!";
//die Aktion abbrechen
e->Cancel=true;
//fehlerKeinEintrag wird true, da die weiteren Prüfungen für die Postleitzahl nicht mehr erforderlich sind
fehlerKeinEintrag=true;
}
}
//die Detailprüfungen für die Postleitzahl
//sind wir in der Spalte für PLZ und ist ein Eintrag vorhanden?
if ((e->ColumnIndex == 4) && (fehlerKeinEintrag == false)) {
//ist der Eintrag exakt 5 Zeichen lang?
//sonst eine Meldung anzeigen und Verarbeitung abbrechen
if (e->FormattedValue->ToString() ->Length != 5) {
MessageBox::Show( "Die Postleitzahl muss 5 Ziffern lang sein!" );
e->Cancel=true;
}
//sind es nur Ziffern?
else
if (Int32::TryParse (e->FormattedValue->ToString(), postleitzahlTemp)==false) {
MessageBox::Show("Das Format der Postleitzahl ist ungültig!");
e->Cancel=true;
}
}
}
ich hatte schon die glorreiche Idee das über den TabIndex der Textbox zu machen aber irgendwie klappt das nicht, da heißt es immer TabIndex ist kein deklarierte Typ. :boah:
kann mir bitte bitte jemand helfen?
Liebe Grüße
Kundendatenbank
-
jungspundi -
4. Oktober 2009 um 13:11 -
Erledigt