Zum Inhalt springen

DataGridView die Zeilen werden versetzt eingefügt


Empfohlene Beiträge

Geschrieben
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");


  

 

 

23.10.20 ZET.PNG

Geschrieben

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 ;)

Geschrieben

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); ?
Geschrieben

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?

Geschrieben (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 von MMazi
Geschrieben

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.

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...