| Autor |
Beitrag |
Taggert
Hält's aus hier
Beiträge: 6
|
Verfasst: Di 16.12.08 14:06
Hallo,
ich bin noch ein rechte noob was C# angeht, aber ich versuch mich durchzukämpfen.
Zur Zeit beschäftige ich mich mit dem DataGrid Control.
Hier meine Frage: Ich würde gerne einen Button in die DataGrid integrieren, um automatisch einen Dialog zum Ändern der Daten auf zu rufen.
Aber irgendwie komm ich mit den Beispielen im Netz nicht ganz klar.
Ich hab mir eine Methode geschrieben, um den Header der Tabelle zu setzen
C#-Quelltext 1: 2: 3: 4: 5: 6:
| private void GenerateHeader() { table.Columns.Add("Art.-Nr", typeof(System.String)); table.Columns.Add("Art.-Name", typeof(System.String)); } |
Wenn ich nun eine Spalte einfügen möchte, dann muss ich doch so was schreiben:
C#-Quelltext 1: 2: 3: 4: 5: 6:
| private void GenerateHeader() { table.Columns.Add("Edit", typeof(System.Control)); table.Columns.Add("Art.-Nr", typeof(System.String)); table.Columns.Add("Art.-Name", typeof(System.String)); } |
aber ich weiss noch nicht richtig, wie ich dann den Button in das DataRow Objekt integriere.
Vielen Dank für Eure Hilfe
Grüße
Moderiert von Christian S.: C#-Tags hinzugefügt
|
|
JüTho
      
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
|
Verfasst: Di 16.12.08 14:35
Hallo und
Befasse Dich lieber mit dem DataGridView, da ist die DataGridViewButtonColumn-Klasse schon vorgesehen.
Außerdem empfehle ich (zumindest für den Anfang), für das Erzeugen einer DataTable den Designer zu benutzen. In der Designer.cs kannst Du dann nachlesen, was wie per Code erstellt werden kann.
Jürgen
|
|
Taggert 
Hält's aus hier
Beiträge: 6
|
Verfasst: Di 16.12.08 17:06
OK, kannst du mir vielleichteinen Tipp geben, wie das mit der DataGridView funktioniert.
Ich wäre Dir wirklich sehr dankbar.
Grüße Taggert
|
|
JüTho
      
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
|
Verfasst: Di 16.12.08 18:30
Dafür gibt es zunächst die SDK-Doku/MSDN. Wenn Dir nicht klar ist, was das ist, dann benutze in der IDE F1 oder Schau in die Doku! - Möglichkeiten der Informationsgewinnung. Die nötigen Stichworte habe ich schon genannt.
Jürgen
|
|
Taggert 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mi 17.12.08 11:59
Hallo,
ich kämpfe immer noch mit dem DataGridViewButtonColumn. Ich hab noch nicht richtig verstanden, wie man deas ganze Ding der DataGridView hinzufügt.
Ich versuche mir über eine Datenbank (noch händisch) Daten auszulesen und diese dann in die Tabelle zu schreiben. Das ganze Datenbank gewurschtel spar ich euch.
Ich geb Euch mal meinen Quellcode:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| private DataTable table = new DataTable();
private void FillDataGrid() { while (Reader.Read()) { DataRow row = table.NewRow(); row[0] = Reader.GetValue(0).ToString(); row[1] = Reader.GetValue(1).ToString(); row[2] = Reader.GetValue(2).ToString(); table.Rows.Add(row); } dataGridView_Lager.DataSource = table; }
private void GenerateHeader() { table.Columns.Add("Art.-Nr", typeof(System.String)); table.Columns.Add("Art.-Name", typeof(System.String)); table.Columns.Add("Lager", typeof(System.String)); } |
Die auskommentierten Zeilen sind jene, die nicht klappen.
Was mach ich falsch?
Grüße Taggert
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 17.12.08 13:05
Taggert hat folgendes geschrieben : | Die auskommentierten Zeilen sind jene, die nicht klappen.
Was mach ich falsch? |
Dass du nicht schreibst was nicht klappt...
Kompilierfehler? Laufzeitfehler? Passiert nix?
|
|
Taggert 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mi 17.12.08 13:14
Kompiliert leider nicht.
Hier die Fehlermeldung:
Die beste Übereinstimmung für die überladene System.Data.DataColumnCollection.Add(System.Data.DataColumn)-Methode hat einige ungültige Argumente.
Sorry, dass ich es nicht gleich geschrieben habe.
Ich bekomm den Button einfach nicht in die DataGridView integriert.
Grüße Taggert
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 17.12.08 13:26
|
|
Taggert 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mi 17.12.08 13:31
Doch doch, ich hab da ne DataGridView in die ich die DataTable einspiele.
dataGridView_Lager ist die DataGridView
Trotzdem Danke Dir für Deine Hilfe.
Grüße Taggert
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 17.12.08 13:33
Die musst du dann auch benutzen. C#-Quelltext 1: 2: 3: 4: 5: 6: 7:
| private void GenerateHeader() { DataGridViewButtonColumn button = new DataGridViewButtonColumn(); button.Name = "Edit"; button.Text = "Edit"; dataGridView_Lager.Columns.Add(button); } |
// EDIT:
Wie das im Zusammenspiel mit DataTable dann funktioniert weiß ich nicht, ich kenne die Klassen nicht, aber jedenfalls gehören die beiden Klassen so zusammen.
|
|
Taggert 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mi 17.12.08 13:41
Ich komm mir gerade verdammt dämlich vor. Ich geh jetzt einfach mal in den Keller und versuch mir die Bretter vor dem Kopf wegzuhauen.
Ich hab das Attribut Columns vor den den ganzen ColumnHeader Attributen einfach nur übersehen.
Ich geh dann mal weiterproggen. Asche auf mein Haupt...wo ist schon wieder der Aschenbecher hin....
Danke Euch und die Geduld die Ihr mit mir hattet.
Verschämte Grüße
Taggert
|
|