Suchergebnisse

Suchergebnisse 1-29 von insgesamt 29.

  • Benutzer-Avatarbild

    Hallo liebe User im Forum, ich arbeite gerade in VB net an einem Programm, welches ich zur Erstellung von Angeboten nutzen möchte. Das Programm funzt auch soweit (Kalkulation, etc.). Nun will ich das Angebot gern ausrcuekn in Form einer mehrseitigen PDF. Dazu habe ich mir den Beitrag von RodFormGermany (Drucken mehrseitiger Dokumente) auch schon angeschaut. Allerdings versteh ich nicht, wie ich die Zeilenanzahl über die einzufügenden Zeilen aus dem Datagrdiview zählen kann. Mein Problem liegt da…

  • Benutzer-Avatarbild

    Hi ja, ein typisiertes Dataset. Ich hole mir die Daten aus dem Dataset. Das Datagridview nehme ich nur zum anzeigen der Datensätze. Die Datensätze aus dem Datagridview zu holen ist ja ncht so das Problem, aber wie hole ich die aus der Binding Source? Und ne For Schleife brauche ich ja auch, damit ich alle Rows durchlaufe bis die letzte erreicht ist.

  • Benutzer-Avatarbild

    Danke für deine Antwort, VaporiZed. Das Tut von EdR habe ich mir mehrfach angeschaut, einige Lücken sind noch da. Bin halt noch newbie, würd ich einfach mal behaupten. Die Daten aus dem Datagrid zu holen klappt, das habe ich ja schon probiert. Nur scheiters dann an der For Schleife bzw. daran, das das Seitenende nicht erkannt wird, um eine neue Siete zu generieren Wenns denn mit der Bindingsource eher klappt, werd ich das mal angehen. Ist auf jeden Fall die elgeantere Lösung, aber war mir nicht …

  • Benutzer-Avatarbild

    @RodFromGermany Danke vorweg für deine Antwort. Ich drucke nicht alle Spalten des Dataset, die sind für mein Angebot nicht erforderlich. Die benötigten Spalten hole ich mir mittlerweile aus dem Dataset, nicht aus dem Datagridview. Das habe ich bereits angepasst. Aus den Spalten bastele ich quasi eine Tabelle zusammen. Die Spaltenüberschriften schreibe ich über den Wert CurrentX in die Tabellenzeile nebeneinander. Die zugehörigen Zeilenwerte zur passenden Spalte hole ich aus dem Dataset. Damit al…

  • Benutzer-Avatarbild

    Hi Rod Das DataSet "Kundenangebot" hat eine DataTable "Einzelangebot". Die Spalte "Netto" habe ich nun in Double umgewandelt. Warum soll ich die DataTable komplett drucken? Ich brauche ja nur einen Teil der Infos im Angebot, nicht alle. Daher ziehe ich nur die Spalten raus, die ich brauche. Ich durchlaufe in der For Schleife das DataTable und hole mir die einzelnen Zellen einer Spalte, die ich für den Druck benötige. Alle anderen Spalten sind rein informativ für mich um zu verfolgen, welche Grun…

  • Benutzer-Avatarbild

    Ja, hab ein typsiertes DataSet. Weiß allerdings nicht wie ich den DirectCast einsetzen soll, um ehrlich zu sein. Habs auch nicht im TUT von EdR verstanden. Mein Problem liegt ja nicht darin, das ich keine Daten aus dem Dataset holen kann. Das klappt. Das Problem hängt beim Drucken. Wie hilft mir hier der DirectCast weiter? Entweder stehe ich voll auf dem Schlauch, oder ich konnte mein Problem nicht verständlich rüberbringen, oder beides ?

  • Benutzer-Avatarbild

    @RodFromGermany hab ich probiert, aber bekomme dann ne Fehlermeldung => "Option strict on lässt keine Konvertierungen von Object in Double zu." Hab die Spalte als System.Double im DataTable angegeben. Edit: Der Druck der Spaltenübeschrift und auch der Zeile in dieser Spalte klappt ja. WIll eigentlich nur irgendiwe hinbekommen, das die Zeilen aus der DataTable auch auf mehreren Seiten gedruckt werden. Hab schon probiert mit: VB.NET-Quellcode (5 Zeilen) wobei Currenty als Integer die Koordinate de…

  • Benutzer-Avatarbild

    Verstehe nicht was du meinst. Stimmt meine Aussage das ich den Zelleninhalt konvertieren muss, oder meinst du ich habe kein typsiertes Dataset? Kann nicht ganz folgen. Edit: hab jetzt den Rat von VaporiZed befolgt. Hab den doppelten Directcast angewendet. Funzt. Druckproblem bleibt. Eine zweite Seite wird nicht generiert. Der Zurgriff auf das Dataset mit DirectCast und damit auch auf die Spalten klappt, genausogut wie vorher auch. Wenn ich im PrintPreview-Dialog bin, wird mir die Seite bis ans E…

  • Benutzer-Avatarbild

    @Akanel Hi Akanel. Anbei der komplette Code aus PrintDocument-PrintPage VB.NET-Quellcode (231 Zeilen) Ich habe den Abschnitt mit e.hasmorepages auskommentiert, weil der Zähler im PrintPreview-Dialog bis unendlich zählt. Beim prüfen der Druckansicht und der Positionen der Strings ist das halt ein wenig nervig. Wenn nicht auskommentiert funzt es halt nich.

  • Benutzer-Avatarbild

    @Akanel Danke für den Code. Bin dran, aber habe Probleme mit dem Briefkopf. Dieser wird nun auch auf Seite 2 gedruckt. Versuche gerade herauszufinden warum. Hab mir auch das TUT "Drucken mehrseitiger Dokumente" von @RodFromGermany nochmal angesehen. Aber komme damit nicht so recht klar. Hab keine Richtextbox als Quelle meiner Strings. Überlege gerade nun, wie ich die Zeilen in der For-Schelife zähle und dann mit der GEsamtzeilenanzahl auf der Siete vergleiche, um dann e.hasmorepages = true zu se…

  • Benutzer-Avatarbild

    @Akanel Bin auch noch arbeiten. Werd mich gleich da reinhängen wenns noch geht. Das maximum an Zeilen richtet sich nach den Positionen, die im DataTable vorhanden sind. Ich schrebe ins Datatable über verschiedene Controls. Daruch werden die Zeilen (entsprechend die zugehörigen Spalten) gefüllt und im DatagridView angezeigt. Jede Zeile im DataTable entspricht einer Position im Angebot. Wenn es nun mehrere Artikel gibt, die der kunde haben möchte, sind mehrere Zeilen vorhanden. Die PDF teilt sich …

  • Benutzer-Avatarbild

    @RodFromGermany Danke, hab viel zu kompliziert gedacht gerade. Da hätt ich bestimmt noch 3 tage probiert es hinzubekommen. Edit: also 3 Seitem bekomme ich nun auch gedruckt. Der Tip von @RodFromGermany war Gold Wert, danke nochmal. Jetzt muss ich es nur noch hinebekommen, das der Druck da weiterläuft, wo er auf der vorherigen Seite aufgehört hat. Sprich, die letzte Zeile die im DataTable in der For-Schleife aufgerufen wurde, muss nun auf der Folgeseite fortgefürht werden mit der nächsten Zeile.

  • Benutzer-Avatarbild

    Ok. Also da di erste Seite eh statisch ist, durchlaufe ich mit der For-Schleife nur bis Bindingsource.count -2. Dann passt alles auf die erste Seite. In der If Abfrage für Seite 2 muss ich also ab Zeile 3 bis bindingsource.count -1 durchlaufen, richtig?

  • Benutzer-Avatarbild

    Hi @RodFromGermany habe jetzt festgelegt, das nur bis Y = 900 gedruckt werden soll. Wenn 900 erreicht, dann soll eine neue Seite erzeugt werden. Aber statt ne neue Seite zu erzeugen, wird der Text einfach auf Seite 1 wieder oben neu gedruckt. pageNB habe ich im BeginPrint-Event auf 0 stehen. Hab aber noch ein anderes Problem, und zwar mit dem DirectCast und der Bindingsource. Die Bindingsource bezieht sich nur auf die erste Zeile im Datatable, habe aber mehrere Zeilen die gedruckt werden sollen.…

  • Benutzer-Avatarbild

    Zitat: „Wenn die Sewite voll ist, musst Du die For-Schleife verlassen. “ Wenn ich die For-Schleife verlasse, dann wird immer wieder die gleiche Seite gedruckt. Die For-Schleife brauche ich, um die Bindingsource zu durchlaufen. VB.NET-Quellcode (9 Zeilen)

  • Benutzer-Avatarbild

    @RodFromGermany Um ehrlich zu sein. Ich blicks nicht. Hab mir das Tut so oft durchgelesen, selbst geschrieben um zu sehen was passiert. Bei mir klappts einfach nicht, weil ich es nicht auf mein Modell anwenden kann. Hab halt keinen Fließtext wie in einer RichTextBox. - Ich schreib den Briefkopf - ich erzeuge eine Schleife zum durchlaufen des DataSets. Diese soll fortlaufen, bis die letzte Zeile im Dataset geschrieben wurde. Die Zeilenanzahl im DataSet kann von 1 bis 100 gehen, ganz egal. - ich s…

  • Benutzer-Avatarbild

    @RodFromGermany - das habe ich ja verstanden. Weiß nur nicht wie ich es umsetzen kann. Der Druck der ersten Seite funzt ja. Dann sag ich bei Y > 900 bitte neue Seite. Im BeginPrint steht pageNB = 0. Im PrintPage-Event wird pageNB inkrementiert, wenn Y > 900 erreicht wird. Es wird alles immer und immer wieder gedruckt. Das PrintPage-Event ist dafür verantwortlich, ist mir klar. Das Event wird so oft aufgerufen, bis alles was gedruckt werden muss, auch gedruckt wurde. ich weiß nicht, wie ich das P…

  • Benutzer-Avatarbild

    Ok. Daran hatte ich ja auch schon gedacht. Aber dann bin ich immer von der Seitenzahl abhängig. Also quasi: Könnte ich das so lösen: Y = pageNB x 900 Select case 0 (seite 1) for i = 0 to y ...... Next select case 1 (seite 2) y = 900 x pageNB For i =( pageNB -1)x 900 to pageNB x 900 ...... next ?

  • Benutzer-Avatarbild

    Hi @RodFromGermany das mit dem Druck der zweiten Siete klappt mittlerweile. Hab jetzt auch mit Select Case den Druckinhalt der einzelnen Seiten konfigurieren können. Allerdings haperts immer noch mit der Tabelle. Hab ja ein typisiertes DataSet und auch eine Bindingsource. Und mit dem DirectCast kann ich die Spalten über die Bindignsource ansprechen. Ich muss aber zeilenweise durch das DataSet durchlaufen, um unterschiedliche Zelleninhalte zu drucken. Mit dem DirectCast wird immer nur die gleiche…

  • Benutzer-Avatarbild

    @RodFromGermany bedeutet dann: VB.NET-Quellcode (7 Zeilen) Das funzt nicht, mache ich da noch was falsch? Muss ich die For schleife anders starten? Bekomme immer nur die erste Zeile im Druck.

  • Benutzer-Avatarbild

    Hi @RodFromGermany weiß nicht, wie ich das hier anhängen kann. Anbei der Link von meinem Google-Drive: https://drive.google.com/open?id=164fbSEL1w0mI1KmJcyxDqaVE0cRtqj1Y Die XML-Datei habe ich auch angehängt. Da nur das Startverzeichnis anpassen.

  • Benutzer-Avatarbild

    Hi @Dksksm Nunja, ich hatte ursprünglich einen untypsierten Zugriff auf mein typsiertes DataSet. Das habe ich dann dank @Akanel und @VaporiZed mit dem DirectCast geändert. Bin dann davon ausgegangen, das ich beim iterieren auch den DirectCast verwenden muss. Hatte vorher durch die DGV iteriert, was ja auch funzt. Aber du hast recht, kann auch durch die DataTable iterieren. Hab da allerdings noch ein anderes Prob. In dem DataSet schreibe ich in einige Zellen mit dem Datentyp system.decimal. Die Z…

  • Benutzer-Avatarbild

    @RodFromGermany & @Dksksm Der Tip mit der Währung von @Dksksm funktioniert. Bloß beim iterieren gehts net. ich bekomme keinen Zugriff auf die einzelnen Spalten, wenn ich es so mache wie @Dksksm geschrieben hat: VB.NET-Quellcode (1 Zeile) Zitat von Dksksm: „Wo hast Du denn auch currentpositionrow her? Sicher nicht aus der Iteration. Da hat nichts einen Bezug zum DirectCast zu haben.“ Das ist die Bindingsource, die ich mit DirectCast anspreche. VB.NET-Quellcode (3 Zeilen) Mein fehler. Mit Zitat: „…

  • Benutzer-Avatarbild

    @Dksksm Danke für deinen Hinweis. Das der DirectCast genau einen Datensatz anspricht habe ich verstanden, leider etwas zu spät. Daher ja auch meine Frage, wie ich das Problem lösen kann. Wußte halt nicht wie. Ich hab auf die schnelle ein Beispielprojekt erstellt, daher auch die falschen Datenformate. In meiner Prog habe ich die Spalten als Decimal. Zitat: „Nachtrag2: mit einer For - Next -Schleife die Anzahl der DGV Zeilen zu durchflöhen ist nicht besonders geschickt, wenn man sowieso nur auf di…

  • Benutzer-Avatarbild

    Zitat: „ Ich habe Dir im Post#49 eine funktionierende Lösung gepostet. Da bietet man eine Lösung an und es wird nicht drauf eingegangen. “ Wo hast du heraus gelesen, das ich auf deinen Vorschlag nicht eingegangen bin? Das Zitat bezog sich zur Erläuterung auf eine Situation, die zum Anfang des Threads erläutert wurde. Mein Zitat bezog sich darauf, das ich mit dem DirectCast falsch lag und nicht weiter wusste. Am Anfang des Threads hatte ich einen untypisierten Zugriff auf das DataTable. @VaporiZe…

  • Benutzer-Avatarbild

    hi @VB1963 Nein, habe ich nicht. Habs zwar gesehen, aber hatte dann für mich entschieden, das ich es mit dem Tut von @RodFromGermany versuche. Klappt soweit auch ganz gut, aber immer wieder treten hier und da Sachen auf, an denen ich arbeite. Ich werd mir das Tut aber anschauen, eventuell ist es ja die passendere Lösung.

  • Benutzer-Avatarbild

    Hi Leute kleines Update. Habs jetzt endlich hinbekommen, das die unterschiedlichen Seiten gedruckt werden (Seite 1 mit Kopfzeile, Seite 2 nur noch Positionszeilen, Seite X Positionszeilen + Schlußtext) . Allerdings konnte ich mit der For each Schleife von @Dksksm nicht das DataSet so durchlaufen, wie es brauche. Ich muss eine Variable beim durchlaufen des DataSets mitlaufen lassen, damit ich die Positionsnummer im Angebot korrekt zählen / darstellen kann. Da ich es nicht anders hinbekommen habe,…

  • Benutzer-Avatarbild

    Ich greife das Thema hier noch mal auf. Ist zwar ne Weile her, aber eventuell hilfts dem ein oder anderen. Das durchlaufen einer DataTable mit einer "For Each"-Schleife für drucken mehrseitiger Dokumente hat für mich nicht funktioniert, da eine mitzählende Variable fehlt die angibt in welchem Datensatz man sich befindet. Der Index des zuletzt gedruckten Datensatzes ist nicht bekannt und wird nicht an die nächste Seite weitergegeben. Die nächste Seite fängt also nicht mit dem fortlaufenden Datens…

  • Benutzer-Avatarbild

    ??? Du gehst gerade von falschen Annahmen aus. Wieso Beratungsresistenz? Bin dankbar für jede Hilfe, die ich in diesem Forum bekomme. Aber vielleicht sollte man nicht immer so schnell mit dem verurteilen sein. Das war mir damals schon bewusst, siehe Post 60. Dein Tip hat das damals nur bestätigt, danke dafür. Hat auch gefunzt. Allerdings musste ich untypisiert auf die Daten zugreifen, damit ich die Schleife mit einer Variablen durchlaufen konnte. Hatte nun an einem anderen Projekt das gleiche Pr…