MMazi Geschrieben 23. Oktober 2020 Teilen Geschrieben 23. Oktober 2020 Hallo alle zusammen. ich schreibe eine Art Zeitefassungstool.mit Start, Ende und Dauer Button. die Egebnisse solllen in die Tabellen von DataGridView eingetragen werden soweit funktioniert und der Code berechnet alles so wie sein soll und die Ergebnisse werden auch eingetragen aber nicht jewels in eine Zeile. was muss ich noch an Code ändern ? Danke für eure Antworten using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Zeiterfassungstool { public partial class Form1 : Form { //Globale Variabeln public DateTime startTime; public DateTime endTime; //public table.Rows.[0]; public Form1() { InitializeComponent(); } private void textBox1_TextChanged(object sender, EventArgs e) { } //--------------------------------------START------------------------------------------------ private void btnStart_Click(object sender, EventArgs e) { this.startTime = DateTime.Now; textBox1.Text = startTime.ToString(); textBox2.Text = startTime.ToString(); int n = dataGridView1.Rows.Add(); dataGridView1.Rows[n].Cells[0].Value = textBox1.Text; //table.Rows.Add(newRow); //table.Rows[0]["Bemerkung"] = ""; } //--------------------------------------ENDE------------------------------------------------ private void btnEnde_Click(object sender, EventArgs e) { this.endTime = DateTime.Now; textBox3.Text = endTime.ToString(); int n = dataGridView1.Rows.Add(); dataGridView1.Rows[n].Cells[1].Value = textBox3.Text; TimeSpan dauer; dauer = endTime.Subtract(startTime); int m = dataGridView1.Rows.Add(); dataGridView1.Rows[m].Cells[2].Value = dauer.TotalHours.ToString("0.00"); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sharpy35 Geschrieben 23. Oktober 2020 Teilen Geschrieben 23. Oktober 2020 Bin zwar kein Experte aber du rufst jedes mal int n = dataGridView1.Rows.Add(); auf. Dadurch wird dann im GridView immer eine neue Zeile geholt. Diesen Call musst du nur einmal machen und dann diesen Zeilenwert zwischen speichern Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MMazi Geschrieben 23. Oktober 2020 Autor Teilen Geschrieben 23. Oktober 2020 Danke sharpy35 , wie kann ich den Zeilenwert zwischen speichern? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MMazi Geschrieben 23. Oktober 2020 Autor Teilen Geschrieben 23. Oktober 2020 wie wärst dann so als beispiel: DataGridViewRow row = (DataGridViewRow)yourDataGridView.Rows[0].Clone(); row.Cells[0].Value = "XYZ"; row.Cells[1].Value = 50.2; yourDataGridView.Rows.Add(row); ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
patrick89 Geschrieben 23. Oktober 2020 Teilen Geschrieben 23. Oktober 2020 Ich kenn mich mit dem .NET leider auch nicht aus. Aber so wie ich die Sache einschätze, sind die yourDataGridView.Rows.Add in der btnEnde_Click Methode komplett überflüssig, da die Row ja schon existiert. Oder habe ich da was falsch verstanden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MMazi Geschrieben 23. Oktober 2020 Autor Teilen Geschrieben 23. Oktober 2020 (bearbeitet) stimmt! eigentlich muss nur bei btnEnde_Click nur die Ngaben zum gleiche Existierende Zeile angegeben ,eingefügt werden.. weiss aber nicht wie genau soll das dann geschrieben werden Bearbeitet 23. Oktober 2020 von MMazi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
patrick89 Geschrieben 23. Oktober 2020 Teilen Geschrieben 23. Oktober 2020 Die Zeile hast du ja sobald du auf Start drückst, und die speicherst du ja auch. Dann musst du die Variable nur noch übergeben. Alternative: Da die Row die du brauchst ja immer die letzte im GridView ist (sieht zumindest da nach aus), gibt es bestimmt auch eine Methode diese zu erfragen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
KeeperOfCoffee Geschrieben 23. Oktober 2020 Teilen Geschrieben 23. Oktober 2020 if (dataGridView1.Rows.Count>0) { var index = dataGridView1.Rows.GetLastRow(DataGridViewElementStates.None); dataGridView1.Rows[index].Cells[1].Value = endTime; } Selbsterklärend hoffe ich Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
KeeperOfCoffee Geschrieben 23. Oktober 2020 Teilen Geschrieben 23. Oktober 2020 Übrigens fehlt da noch eine ordentliche Datenbindung Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MMazi Geschrieben 23. Oktober 2020 Autor Teilen Geschrieben 23. Oktober 2020 ja stimmt die daten ist noch garnicht gebunden an einem daten bank , Danke für Antwort Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
KeeperOfCoffee Geschrieben 23. Oktober 2020 Teilen Geschrieben 23. Oktober 2020 Muss, wenn es nur eine Übung sein soll, nicht mal eine DB sein. Kannst auch einfach ein DataSet aus einem JSON erstellen. MMazi reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.