[C#] Formular ausfüllen (bzw. Vorlage)

  • Hey Leute ich brauche mal eure Hilfe!


    Folgendes:
    Ich möchte über eine C# Anwendung ein Formular schreiben lassen wo Daten die zuvor eingegeben werden eingetragen werden, dazu soll eine Tabelle rein die bei jeder nutzung des Tools anders sein kann von der Größe her..
    Sprich wenn ich mal 6 statt nur 5 eingaben mache das direkt eine reihe hinzugefügt wird.


    Hört sich zwar nach nicht viel an aber dennoch verzweifel ich da seit 2 Tagen dran weils einfach nicht hinhaut mal werden nur ein paar Dinge eingetragen und die Formatierung ist fürn arsch und mal funktioniert garnix und bei der Tabelle komm ich garnicht weiter.. Zum Schluss hab ich es aufgegeben und alles gelöscht um von vorn zu beginnen bringt mich aber auch nicht weiter :D


    Wäre cool wenn jemand vielleicht einen Code-Schnipsel für mich hätte.


    Mit freundlichen Grüßen
    CedBec

  • Was genau meinst du mit Tabelle, eine Excel Tabelle, oder eine Consolen Tabelle


    Für die Eingabe



    int i;
    char again = 'n';
    //Wenn ich mich nicht irre ist eine Console 80 Zeichen kang:


    Console.SetCursorPosition(0, 6); //x,y
    Console.Write("#");
    Console.SetCursorPosition(20, 6);
    Console.Write("Wert");


    //Beachte SetCursorPosition kann maximal y 300 haben, sollten mehr Reihen benötigt werden:
    //Console.SetBufferSize(x,y); NACH OBEN!!!


    do {
    Console.Write("Geben Sie einen Wert ein: ");
    wert = Convert.ToInt32(Console.ReadLine()); //oder wert = int.parse(Console.ReadLine());
    if(wert != 0) {
    Console.SetCursorPosition(0, (i + 7)); //x,y
    Console.Write(i);
    Console.SetCursorPosition(20, (i + 7));
    Console.Write(wert);
    i++;
    }
    } while(wert != 0);
    //Wenn der Wert 0 ist dann wird die Wiederholung beendet!


    Ungetest, und dient lediglich als Ansatz!

  • Das kannst du einfach mit deinem dataGridView machen:


    //Gib hier an, wie viele Header-Spalten du hast:
    dataGridView1.ColumnCount = 2;


    //Dann die Namen der Header-Spalten
    dataGridView1.Columns[0].Name = "Name";
    dataGridView1.Columns[1].Name = "Alter";


    //Dann deine Daten:
    string[] row1 = new string[] {"Test","15"};
    string[] row2 = new string[] {"Peter","20"};
    string[] row3 = new string[] {"Susi","17"};



    object[] rows = new object[] { row1, row2, row3 };


    foreach (string[] rowArray in rows)
    {
    dataGridView1.Rows.Add(rowArray);
    }


    Wenn dir das mit der Schleife zu doof ist, kannst du das auch einfach statisch hinzufügen:


    //Dann deine Daten:
    string[] row1 = new string[] {"Test","15"};
    dataGridView1.Rows.Add(row1);


    string[] row2 = new string[] {"Peter","20"};
    dataGridView1.Rows.Add(row2);


    string[] row3 = new string[] {"Susi","17"};
    dataGridView1.Rows.Add(row3);


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Danke das ist eine gute Idee Kaliber!:)
    Kann ich den DataGridView denn auch wie eine Exceltabelle gestalten und drucken?
    auch hier hätte ich noch das Problem mit der Formatierung das jedes mal beim druck alles als block wiedergegeben wird abstände werden nicht angenommen :\
    // Ja die Daten müsste ich statisch eingeben da die zuvor aus einer Liste ausgewählt werden müssen für jede Reihe und daher erst alle Informationen zusammen getragen werden sollten :b

  • Kann ich den DataGridView denn auch wie eine Exceltabelle gestalten und drucken?


    Ja das kannst du :)


    Das mit dem Drucken sollte eigentlich funktionieren, wenn nicht, schau dir das mal an:


    https://msdn.microsoft.com/de-…ry/aa287528(v=vs.71).aspx


    Hast du mal \t Für Tab genommen?


    Das ist Quatsch....aber ja man kann die Spalte beliebig vergrößern :)


    // Ja die Daten müsste ich statisch eingeben da die zuvor aus einer Liste ausgewählt werden müssen für jede Reihe und daher erst alle Informationen zusammen getragen werden sollten :b


    Ich verstehe nicht...was du mir damit sagen willst? :huh:


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Zitat von Kaliber


    Ich verstehe nicht...was du mir damit sagen willst? :huh:


    Nicht schlimm :D Es geht einfach nur darum das es per Schleife in meinem Fall unnötig wäre aber egal. Danke für die Hilfe hierzu das klappt auch soweit ich es bis jetzt mir angeschaut habe nun habe ich aber eine neue Frage undzwar möchte ich
    das Text der später in dem Dokument stehen soll auch formatiert bleibt also eingerückt z.B


    Hallo Frank ________Datum ( "_" wegdenken geht hier nur so sonst werden die leerzeichen gelöscht)


    und nicht so


    Hallo FrankDatum


    das ich quasi den Abstand habe wir in Textverarbeitungsprogrammen es mir durch Tab möglich ist alles passend einzurücken versteht ihr was ich meine?

  • Ja das ist ja das doofe damit bekommt man es nicht so genau hin wie mit der Tab Taste :(


    Du kannst dir das auch "einfach" machen.


    Du schaust wie lang dein Text maximal sein darf, von den zeichen her inkl. der Leerzeichen, und füllst den fehlenden Teil einfach mit Leerzeichen auf.
    Achte dabei aber darauf, das du eine Schriftart wählst, bei der die Zeichen eine ähnliche größe haben, sonst sieht das etwas wirr aus :D

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • Du kannst dir das auch "einfach" machen.


    Du schaust wie lang dein Text maximal sein darf, von den zeichen her inkl. der Leerzeichen, und füllst den fehlenden Teil einfach mit Leerzeichen auf.
    Achte dabei aber darauf, das du eine Schriftart wählst, bei der die Zeichen eine ähnliche größe haben, sonst sieht das etwas wirr aus :D


    Versteh ich jetzt nicht ganz :D

  • Gut ich versuchs mal zu erklären


    du hast diesen Text


    Code
    Willkommen Frank, heute ist Freitag.


    Dahinter soll das Datum erscheinen, nur eben nicht direkt dahinter geklatscht.

    Code
    Willkommen Frank, heute ist Freitag.                13.03.2015


    nun hat man aber das Problem sobald der Name länger oder kürzer wird, ändert sich die Position des Datum.
    Das kann irgendwann zur Sprengung des Design führen.

    Code
    Willkommen DiesIstEinGanzLangerNameWeilIchSoKreativBin, heute ist Freitag.               13.03.2015


    Deswegen wollen wir die Maximallänge bis zum Datum bestimmen, hier 52, und die länge vorherigen Text, hier 37, daran anpassen.
    Wir müssen also 12 Leerzeichen einfügen, damit es so aussieht.

    Code
    Willkommen Ced, heute ist Freitag.                   13.03.2015

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski