Zum Inhalt springen

Formular mit Neu, Ändern, Speichern, Verwerfen


matze2k2

Empfohlene Beiträge

Hallo zusammen,

ich habe schon lange im Internet nach einer Lösung für mein Problem gesucht. Da es nicht all zu schwer sein sollte, man sicherlich nur wissen muss wie, dachte ich mir, ich frage mal euch.

Ich habe ein Formular zum anlegen von Benutzern. Das Formular ist in 2 Bereiche eingeteilt. Das datagridview zur anzeige und im unteren Teil die Detailansicht. Sprich oben kann ich mir alle Benutzer anzeigen lassen, unten soll dann die markierte row in detailform angezeigt werden. Nur dort kann ich dann die Daten bearbeiten.

Ich konnte die Ergebnisse im Datagridview anzeigen lassen. Nur würde ich nun gerne wissen, wie ich basierend auf der row oben, mir die Informationen je User im unteren Formular anzeiegen lassen kann.

Und dann habe ich noch keinen blassen Schimmer, wie ich das mit dem edit und New machen soll. Für New habe ich schon eine SP (arbeite mit dem MS SQL-Server) geschrieben, welche ich dann aus dem Programm aufrufen möchte. Aber ich müsste ja auch den Rückgabewert interpretieren, damit ich weiß, ob es funktioniert hat oder nicht.

Ich hoffe das hilft. Gebe gerne mehr Infos. Wenn jmd. ein Beispiel online hat, welches mit DB-Zugriff arbeitet, würde mir das schon reichen. Ansonsten wäre ich über jeden HInweis dankbar.

Gruß

Mathias

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich kann dir nicht sagen, wie man von .NET aus auf einen MS-Sqlserver Zugriff erhält, kann mir aber kaum vorstellen, dass man dazu im Inet keine Beschreibungen findet. Ich würde sogar stark vermuten, dass man das sogar in der MSDN findet.

Was die Vorgehensweise mit dem Grid und der Detailansicht betrifft, gibt es 2 Möglichkeiten:

Entweder du holst dir mit einem Aufruf aus der DB ALLE notwendigen Informationen, befüllst das Grid aber nur mit den für das Grid bestimmten. Sobald dort eine andere Row selektiert wird, zeigst du die Detailinformationen aus diesem Datensatz im Detailbereich.

Oder du holst dir mit einem DB-Aufruf nur die Informationen die du für dein Grid benötigst und befüllst es damit. Sobald dort eine (andere) Row selektiert wird, holst du dir mit den aus dem ersten Query gelieferten Informationen (z.B. einem Index) die Detailinformationen in einer weiteren DB-Abfrage und zeigst deren Ergebnis im Detailbereich an.

Was den Rückgabewert betrifft, den kriegst du ja von der Methode bestimmt zurückgegeben. Du musst ihn dann ja nur auswerten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

zu Deiner Frage: Wie kann man die Details ansehen?

Ich würde eine Klasse Benutzer erstellen, die alle Attribute, welche die Detailansicht fordert enthält.

Dann kannst Du aus der Datenbank alle Benutzer laden und als Liste von Benutzer-Objekten halten.

Diese Liste übergibst Du dem Datagridview als Datasource. Wenn Du nur bestimmte Attribute anzeigen möchtest wie z.B. Name kannst Du das definieren:


DataGridViewTextBoxColumn idColumn = new DataGridViewTextBoxColumn();

idColumn.HeaderText = "ID";

idColumn.DataPropertyName = "Id";

idColumn.ReadOnly = true;

this.dgv.Columns.Add(idColumn);


DataGridViewTextBoxColumn nameColumn = new DataGridViewTextBoxColum();

nameColumn.HeaderText = "Name";

nameColumn.DataPropertyName = "Name";

this.dgv.Columns.Add(nameColumn);


Wichtig hierbei ist, das die Benutzerklasse eine Property "Name" besitzt, die dann abgerufen wird. Wenn Du eine Zeile im Datagridview selektiert hast, kannst Du eine Objekt-Referenz erzeugen...

Benutzer currentBenutzer = null;


            if (BindingSource.Current != null) (Bindingsource vom DatagridView!)

            {

                currentBenutzer = BindingSource.Current as Benutzer

            }


            if (Benutzer!= null)

            {

                  .....

            }

Dieses Benutzer-Objekt kannst Du nun für Deine Detailsansicht verwenden...

Gruß Ron

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...