Kundendatenbank

  • 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

  • Hey Gast!
    Hast Du eine Frage, die Du gerne beantwortet haben möchtet? Klickt auf den folgenden Link und Du wirst die Antwort finden:

    Hier findest Du die Antworten

    Egal, ob es sich um eine Frage zu einem bestimmten Thema in eurem Studium oder um allgemeine Ratschläge handelt - wir haben die Antworten, die ihr sucht. Also zögert nicht und klickt auf den Link! Wir freuen uns darauf, euch zu helfen.