Autor Beitrag
elcattivo
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 06.08.09 07:31 
Guten Morgen zusammen,

ich wollte mal ein wenig herumbasteln und eine Art Bestellmaske programmieren. Hier soll der Kunde einen Artikel auswählen (diese befinden sich in einem GirdView). Per klick auf einen Button wird dieser Artikel in ein anderes Gridview kopiert und eine Mengenabfrage wird aufgerufen. Nun habe ich mich aber noch nie mit dem Kopieren/Einfügen per Klick aus einem GirdView beschäftigt.

Für Denkansätze wäre ich sehr dankbar

Grüße,
Elcattivo
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 06.08.09 13:37 
Hallo und :welcome:

Zunächst musst du dir mehr Genauigkeit angewöhnen, sonst wirst du sehr schnell scheitern.

Du schreibst konsequent von "GirdView". So etwas kenne ich überhaupt nicht; du meinst möglicherweise GridView.

Wenn du das meinst, bist du aber im Unterforum WinForms falsch; denn das gehört zu WebForms (ASP.NET).

Wenn du deine Frage aber bewusst unter "WinForms" gestellt hast, dann arbeitest du vermutlich nicht mit GridView, sondern mit DataGridView.

Du siehst: Zuerst musst du nachdenken, dann genau formulieren. Jetzt müssen wir nachfragen (oder raten), was du eigentlich meinst; aber so kann es nicht gehen.

Ein Artikel ist ein bestimmtes Objekt. Im "Grid" (in welchem auch immer) wird es nur angezeigt (oder zur Bearbeitung zur Verfügung gestellt). Das, was du erreichen willst, musst du mit dem Artikel machen, also z.B. einem Element einer List<Artikel> oder einer DataRow einer DataTable oder wie auch immer die Daten an das "Grid" gebunden sind. Falsch wäre es auf jeden Fall, wenn du die Artikel direkt in das "Grid" eingetragen hättest.

Lass mal hören... Jürgen
elcattivo Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 06.08.09 14:24 
Ups, tut mir leid - bin einfach noch nicht wirklich so stark in der Materie *seufzt*.

Ich versuche es mal besser zu erklären:

Also ich habe ein DataGridView welches Daten aus einer Artikel-Tabelle anzeigt. Nun habe ich ein zweites DataGridView neben dem ersten erstellt.
Per Klick auf einen Button soll nun die Artikelnummer aus dem ersten DataGridView in das zweite kopiert werden (also nicht verschoben, sondern kopiert).

Ist diese Artikelnummer nun auch im zweiten DataGridView zu sehen, sollen nun andere Daten des Artikels angezeigt werden (dies wird wohl über die BindingSource gelöst).

Ich hoffe, dies ist nun verständlicher :).

Vielen Dank im Voraus
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 06.08.09 15:16 
user profile iconelcattivo hat folgendes geschrieben Zum zitierten Posting springen:
Ich hoffe, dies ist nun verständlicher :).

Vor allem ist es eindeutig und klar.

Für das "Daten kopieren" musst du, wie dir schon dort gesagt wurde, wirklich eine neue Zeile erzeugen. Das ginge durch DataTable.ImportRow (das ist sozusagen das, was CopyRow machen könnte).

Andererseits stehen die festen Artikel-Daten in der Artikel-Tabelle. In der Bestellungen-Tabelle brauchst du doch nur die Artikelnummer und zusätzlich die Anzahl; alles andere kann übernommen werden. Dazu musst du allerdings die Tabellenstruktur genauer durchdenken und z.B. DataRelation (= ForeignKey) benutzen.

Gruß Jürgen