Autor Beitrag
maxwinter514
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 22.02.19 14:16 
Hi Leute, ich hab folgendes Problem -> ich hab zwei btn einen um einen Auftrag in ein Datagriedview einzufügen und einen um einen Auftrag zu ändern. Beim einfügen wandel ich ein zwei Textfelder in Double werte um wenn ich das aber beim btn Ändern versuch bekomme ich egal auf welche weiße ich es versuche eine Fehlermeldung wäre glücklich wenn ihr mir dabei helfen könntet.

Hier der Code

ausblenden 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:
        private void Hinzu_Load(object sender, EventArgs e)
        {
            if(Auf != null)
            {
                textBoxBezeichnung.Text = Auf.Bezeichnung;
                textBoxAbgabe.Text = Auf.Abgabe;
                textBoxAuftraggeber.Text = Auf.Auftraggeber;
            }
        }

        private void btnSave_Click(object sender, EventArgs e)
        {      
            Auf.Bezeichnung = textBoxBezeichnung.Text;
            double textBoxValue = double.Parse(textBoxBetrag.Text);
            double textBoxM = double.Parse(textBoxMenge.Text);           
            Auf.Menge = textBoxM;
            Auf.preis = textBoxValue;
            Auf.Brutto = Auf.Menge * Auf.preis;
            Auf.Netto = Auf.Brutto/119;
            Auf.Netto *= 100;         
            Auf.Abgabe = textBoxAbgabe.Text;
            Auf.Auftraggeber = textBoxAuftraggeber.Text;
            Auf.AktDatum = System.DateTime.Now.ToShortDateString();
        }


Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 22.02.19 14:50 
- Nachträglich durch die Entwickler-Ecke gelöscht -
maxwinter514 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 22.02.19 17:42 
Achso ich weiß nicht wie ich die Variablen menge und preis die Ja jetzt double werte sind in das Textfeld hineinbekomme oder wie ich es sonst schaffe das ich die in meinem Programm ändern kann ?? Und ja ich weiß das wo Englisch ist hab ich mir Kopiert des wird noch geändert

Bsp Lösung die aber nicht funkt =D

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
private void Hinzu_Load(object sender, EventArgs e)
        {
            if(Auf != null)
            {
                textBoxBezeichnung.Text = Auf.Bezeichnung;
                textBoxAbgabe.Text = Auf.Abgabe;
                textBoxAuftraggeber.Text = Auf.Auftraggeber;
                textBoxBetrag.Text = string(Auf.preis);


            }

        }


Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4449
Erhaltene Danke: 917


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 22.02.19 18:08 
Rufe die ToString() Methode am double auf bzw. eine Überladung davon um das genaue Format festzulegen. Die Darstellung einer Zahl ist ja kulturspezifisch.

Für diesen Beitrag haben gedankt: maxwinter514
maxwinter514 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 23.02.19 10:42 
Hey sry das ich nochmal frage ich glabe ich hab alles richtig gemacht mit dem ToString. Zu mindestens stürzt das Programm nicht mehr ab :) jetzt übernimmt meine Datagrieview jedoch die Änderungen nicht und ich weiß nicht warum ich kann zwar den btnEdit drücken jedoch passiert nichts ??

Hier die Hinzu

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 WindowsFormsApp1
{
public partial class Hinzu : Form
{
public Auftrag Auf { get; set; }


public Hinzu()
{
InitializeComponent();
}

private void Hinzu_Load(object sender, EventArgs e)
{
if(Auf != null)
{
textBoxBezeichnung.Text = Auf.Bezeichnung;
textBoxAbgabe.Text = Auf.Abgabe;
textBoxAuftraggeber.Text = Auf.Auftraggeber;
string Preis = Auf.preis.ToString();
textBoxBetrag.Text = Preis;
string Menge = Auf.Menge.ToString();
textBoxMenge.Text = Menge;



}

}

public void btnSave_Click(object sender, EventArgs e)
{
Auf.Bezeichnung = textBoxBezeichnung.Text;
double textBoxValue = double.Parse(textBoxBetrag.Text);
double textBoxM = double.Parse(textBoxMenge.Text);
Auf.Menge = textBoxM;
Auf.preis = textBoxValue;
Auf.Brutto = Auf.Menge * Auf.preis;
Auf.Netto = Auf.Brutto/119;
Auf.Netto *= 100;
Auf.Abgabe = textBoxAbgabe.Text;
Auf.Auftraggeber = textBoxAuftraggeber.Text;
Auf.AktDatum = System.DateTime.Now.ToShortDateString();
}

private void textBoxBetrag_TextChanged(object sender, EventArgs e)
{


}

private void textBoxBetrag_KeyPress(object sender, KeyPressEventArgs e)
{
char ch = e.KeyChar;
if (ch == 44 && textBoxBetrag.Text.IndexOf(',') != -1)
{
e.Handled = true;
return;
}
if (!char.IsDigit(ch) && ch != 8 && ch != 44)
{
e.Handled = true;
}
}


und die Form1

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 WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}



private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewCheckBoxCell ch1 = new DataGridViewCheckBoxCell();


if (ch1.Value == null)
ch1.Value = false;
switch (ch1.Value.ToString())
{
case "True":
ch1.Value = false;
break;
case "False":
ch1.Value = true;
break;
}



}



private void btnAdd_Click(object sender, EventArgs e)
{
using (Hinzu hin = new Hinzu() { Auf = new Auftrag() })
{
if (hin.ShowDialog() == DialogResult.OK)
{
auftragBindingSource.Add(hin.Auf);

}

}

}

private void button4_Click(object sender, EventArgs e)
{

}

private void Form1_Load(object sender, EventArgs e)
{

}

private void btnEdit_Click(object sender, EventArgs e)
{
Auftrag edit = auftragBindingSource.Current as Auftrag;
if (edit != null)
{
using (Hinzu hin = new Hinzu() { Auf = edit })
{
if(hin.ShowDialog() == DialogResult.OK)
{
auftragBindingSource.EndEdit();
btnEdit.Focus();
}
}
}

}
}
}
maxwinter514 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 23.02.19 10:53 
Und wie muss ich den Code Umschließen das er auch als Code Angezeigt wird
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20448
Erhaltene Danke: 2262

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 23.02.19 11:53 
Einfach die entsprechenden Tags davor und dahinter schreiben. Für C#-Code sieht das dann so aus:

ausblenden Quelltext
1:
2:
3:
[cs]
... dein Code ...
[/cs]


Am Besten editierst Du Deinen Beitrag direkt und fügst die entsprechenden Tags noch hinzu :-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 23.02.19 20:42 
- Nachträglich durch die Entwickler-Ecke gelöscht -