MMazi Geschrieben 23. Oktober 2020 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");
sharpy35 Geschrieben 23. Oktober 2020 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
MMazi Geschrieben 23. Oktober 2020 Autor Geschrieben 23. Oktober 2020 Danke sharpy35 , wie kann ich den Zeilenwert zwischen speichern?
MMazi Geschrieben 23. Oktober 2020 Autor 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); ?
patrick89 Geschrieben 23. Oktober 2020 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?
MMazi Geschrieben 23. Oktober 2020 Autor 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
patrick89 Geschrieben 23. Oktober 2020 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.
KeeperOfCoffee Geschrieben 23. Oktober 2020 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
KeeperOfCoffee Geschrieben 23. Oktober 2020 Geschrieben 23. Oktober 2020 Übrigens fehlt da noch eine ordentliche Datenbindung
MMazi Geschrieben 23. Oktober 2020 Autor Geschrieben 23. Oktober 2020 ja stimmt die daten ist noch garnicht gebunden an einem daten bank , Danke für Antwort
KeeperOfCoffee Geschrieben 23. Oktober 2020 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden