Zum Inhalt springen

Argbeil

Mitglieder
  • Gesamte Inhalte

    433
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Argbeil

  1. Aus: using ( lalala instance = new lala() ) { ... } wir folgender Code generiert: try { lalala instance = new lalala(); } finally { instance.Dispose(); } Das hat mit Excecption-Handling also erstmal nichts zu tun, sondern sorgt nur das für dass - egal was passiert - Dispose aufgerufen wird.
  2. Ich kann das so nicht nachvollziehen, ich hab mir den Code jetzt mal angesehen aber sind zu viele Elemente drin die Auswirkung auf das Verhalten haben können (Was macht das JScript, wie sind die DDLs definiert wie sieht das Resultset der SQL Abfrage aus usw.) Wenn du so nicht weiterkommst würde ich eine neue leere Seite erstellen und mit dem Code von mir als Grundlage anfangen, da kopierst du deinen Fill und SelectedIndex Code rein und guckst ob das Verhalten wie gewünscht ist, dann musst du nur noch die Unterschiede zwischen den Pages vergleichen.
  3. Argbeil

    Split Char

    Meine Antwort bezog sich auf die Ausgabe von eingabe.Split() denn das liefert ein String-Array. Wenn du darauf WriteLine aufrufst macht er ein ToString() auf das Objekt und liefert den Namen zurück.
  4. Das ist nicht so leicht..was willst du genau wissen? Vom Ablauf her muss der Workflow Events an das Form senden (z.B. ein LoadControlEvent erstellen). Bei jedem der Events musst du der Form Controls-Collection das entsprechende Element hinzufügen. Ich würde die aber abraten das so zu machen, das ist mit Kanonen auf Spatzen geschossen. Besser du erzeugts die Forms mit WPF über Xaml, das ist schon sehr dynamisch und steuerst dann nur das anzeigen der Formulare über einen Workflow.
  5. Argbeil

    Split Char

    Er gibt doch die gesplittete Eingabe aus, du bekommst eine Liste von Strings die an den entsprechenden Stellen gesplittet wurden.
  6. Okay, ich versuche mal das ganz trivial zu erklären. Die Datei hat ja ein internes Format, z.B. gibt es beschreibende Formate, wie dein L&L Report, da steht dann sowas drin wie "Zeichne Linie in Rot von (0,0) zu (10,10)", in einem JPG ist aber der Aufbau des Bildes in einem binären Format beschrieben da steht dann "0010101010100010101010001" drin. (Alles stark vereinfacht erklärt, in Wirklichkeit ist es komplexer). In einem DOC steht z.B. Zeile 1, Schriftart XY, Text "Hallo!", die Formate sind also völlig verschieden und können nicht ohne weiteres von anderen Programmen verwendet werden. Ein Standard Bild Format (bmp, gif, jpg, png, usw.) kannst du mit dem .net framework in ein Image-Objekt laden - beim laden wird quasi "in Memory" das Bild binär erzeugt - und dann aus dem Image-Objekt in einem anderen Format wieder speichern, dabei wird es in die entsprechende Kodierung gebracht. Das macht z.B. der Code den du gepostet hast, aber eben nur mit Standard-Formaten. Für alles was kein Standard-Image ist (z.B. dein L&L Report, oder eine DOC Datei) gibt es zwei Möglichkeiten: 1. Der Hersteller liefert eine Komponente mit der du das Dokument in den Speicher laden kannst und dann wieder in einem anderen Format exportieren. L&L kann das (kann man hier nachlesen), damit kannst du deine Berichte z.B. als PDF speichern um sie per Mail zu versenden, irgendein Bildformat wie BMP geht mit Sicherheit auch, das kannst du ja zur Not wieder deinem ersten Source-Code konvertieren. 2. Du findest raus wie die Dateistruktur aufgebaut ist und schreibst dir einen eigenen Loader der ein .NET Image im Speicher erzeugt, daraus kannst du wieder speichern. Das würde ich ausschließen, selbst wenn du für 3000 € die Komponente kaufen müsstest ist das in der Regel billiger als sie selber zu entwickeln. Wenn du nur die Extension änderst führt das lediglich dazu, das ein JPG-Anzeige Tool denkt: "Oh, ein JPEG Bild, das zeige ich jetzt an!"..dann aber vermutlich einen Fehler produziert wenn es versucht die Nullen und Einsen zu lesen und stattdessen irgendwas anderes findet. Du musst dir jetzt die L&L Doku oder google schnappen und rausfinden wie du aus L&L mit .NET einen JPEG Export machen kannst. Alternativ kannst du auch bei L&L anrufen und fragen, wenn ihr eine Lizenz habt ist das in der Regel kein Problem.
  7. Ah, das wussten wir nicht. Poste doch mal dein CSS-File.
  8. Hm...ich hab das gerade mal ausprobiert, das hier funktioniert auf Anhieb (ich habe eine Webpage mit 3 DDls erstellt) public partial class _Default : System.Web.UI.Page { private string[] data = { "Value1", "Value2","Value3"}; protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { // Beim ersten laden.... this.FillDDLs(); for (int i = 1; i < 4; i++) { DropDownList ddl = this.FindControl("DropDownlist" + i.ToString()) as DropDownList; if (ddl != null) { ddl.SelectedIndex = i-1; } } } } private void FillDDLs() { this.DropDownList1.DataSource = this.data; this.DropDownList1.DataBind(); this.DropDownList2.DataSource = this.data; this.DropDownList2.DataBind(); this.DropDownList3.DataSource = this.data; this.DropDownList3.DataBind(); } } Dadurch das die DDLs per Default im Viewstate sind, braucht man die Selektion und das Binding nur beim ersten laden der Seite machen. Ich hab hier gerade keine Datenbank zum testen, aber ich würde das aus dem Kopf dann so abwandeln: // .... SqlConnection, SqlCommand usw. erstellen und ausführen... for (int i = 1; i < 4; i++) { if (!reader.Read()) // Wichtig, Read() vor erstem Zugriff! { throw new ArgumentOutOfRangeException("Not enough Rows in Resultset!"); } DropDownList ddl = this.FindControl("DropDownlist" + i.ToString()) as DropDownList; if (ddl != null) { ddl.SelectedIndex = reader.GetInt32(0); } else // Control nicht gefunden oder gefundenes Control ist kein DDL { throw new ArgumentOutOfRangeException("Control could not be found!"); } } reader.Close(); // Ganz wichtig! So funktioniert das bei mir ohne Probleme, wenn es bei dir trotzdem nicht gehen sollte musst du den kompletten Page-Source posten.
  9. Entschuldigung, die Extension zu ändern ist doch das selbe wie umbenennen, du kannst eine lbl Datei ja nicht einfach in jpg ändern um ein Bild daraus zu machen, du musst das Dateiformat konvertieren.
  10. Vergessen wir erstmal das es bei OnClick zufällig funktioniert: Der Code ist auf jeden Fall nicht korrekt und unsauber. Du musst den ersten Read auf dem DataReader machen bevor du auf die Ergebnismenge zugreifst und zusätzlich prüfen ob er überhaupt Werte liefert, sonst bekommst du Probleme wenn sich dein Resultset ändert. Das Standardvorgehen ist: while (reader.Read() != null ) { .... } In deinem ersten Post schreibst du: "Der Code der die Listen füllen soll: .." Der Code den du dort gepostet hast füllt die Liste aber in keinem Fall (hierzu müsstes du ddl.Items.Add(...) oder noch besser DataBind(); aufrufen) sondern setzt lediglich Indizies. Wenn deine DDLs trotzdem gefüllt sind, hast du noch irgendetwas anderes gemacht, z.B. DataBinding auf dem WebForm, und das wird vermutlich dein Problem sein weil es bei bestimmten fällen erst nach dem Index-Wechsel-Code ausgeführt wird. Um jetzt irgendwie zum Ziel zu kommen: Beschreib dochmal komplett was du machen willst, das habe ich noch nicht verstanden. Du willst vermutlich 1. Die DDLs mit einem SQLQuery Result befüllen und dann 2. a) Die SelectedIndizes der DDLs mit einem zweiten Query setzen? Oder soll jedes DDLs immer einen SelectedIndex von +1 zu dem vorherigen haben? 3. Welche Version von Visual Studio und .NET verwendest du?
  11. Ja, aber in ASP kannst du viele Tabellen verwenden. Ein HTML Server Control, eine statische HTML Tabelle oder ein Table WebControl ? Das CSS würde nur im zweiten Falle greifen.
  12. Bennenst du damit nicht nur die Datei um?
  13. Hi, soweit ich es im Kopf habe ist Close schon der richtige Weg die Verbindung zu beenden, wenn du danach wieder eine Connection aufbauen willst musst du lediglich über new eine neue Klasse erstellen, die alte existiert nicht mehr. An der Stelle also TCP_Client = New TcpClient verwenden und die Verbindung wieder aufbauen. (oder direkt die ganze Zeit geöffnet lassen) Das Verhalten ist übrigens in der Regel bei .NET immer so, nach einem Form.Close(); kann das Formular auch nicht mehr verwendet werden.
  14. Okay, aber das ist doch auch genau das was du programmiert hast: Hier mal in Pseudocode: SQLStatement = "..."; SQLStatement.Ausführen(); von (i = 1 bis 26) { DropDownList UDDL = finden wo der name = "Schule" + i; Index von UDDL setzen auf = Immer die gleiche Row des SQL-Results Spalte 3 } Hier ist kein Code vorhanden der die DDLs füllt sondern nur einer der den Index setzt, und dann auch immer auf den gleichen Wert weil du nicht durch das Resultset itterierst. Ich hätte sogar vermutet das eine Exception auftritt weil man den DataReader normalerweise erst verwenden kann nachdem man einmal Read() aufgerufen hat. Wenn du in alle DDLs die gleichen Werte schreiben willst solltest du einen TableAdapter oder DataAdapter verwenden um ein Dataset zu füllen und den DDLs über uddl.DataSource = myDataSet; uddl.DataBind(); die Werte zuweisen. Danach kannst du z.B. noch ein uddl.SelectedIndex = 0; machen um immer das erste Element auszuwählen. Sofern die DDLs im Viewstate der Seite gespeichert werden musst du im Page_Load im Falle eines Postbacks die Daten auch nicht nochmal laden.
  15. Besteht dein UserControl aus HTML Server Controls oder aus AspServerControls? Du platzierst ja für ein UserControl nur Elemente in einem Container, der Style wirkt sich also zunächst nur auf dein Container-Panel aus, ich bin mir nicht sicher ob der Container den Style automatisch an die Child-Elemente weiterreicht, evtl. musst du das im Code machen. Zudem kannst du diverse Optionen eines AspWebControls ja über CSS gar nicht beeinflussen sondern nur über skin-Files.
  16. Wenn du dir die Close Methode mal ansiehst ( TcpClient.Close Method (System.Net.Sockets) ) siehst du, das nicht nur die Verbindung geschlossen sondern auch das Objekt verworfen wird, du kannst nach einem Close das Objekt selbst also nicht mehr verwenden und musst ein neues Tcp Objekt erzeugen.
  17. Reichst du das Design weiter an deine untergeordneten Elemente oder was machst du mit der Property in dem UserControl?
  18. Von Oracle gibt es ein Toolset Namens ODP.NET (Oracle Data Provider) zum kostenlosen Download, das integriert sich in Visual Studio und macht die Sache relativ einfach. Die bieten auch eine gute Dokumentation an in der die Vorgehensweise erklärt wird, einfach mal durchlesen. Wenn du noch keine Erfahrung mit ADO.NET hast empfiehlt sich vorher ein ADO.NET Buch zu lesen.
  19. Was ist denn der Fehler?
  20. ..wobei, wenn ich mir deine Webseite angucke war die Frage vermutlich nicht ernst gemeint.
  21. Dem Projekt ein neues Formular hinzufügen und zur Luafzeit wie eine Klasse mit new eine Instanz erstellen. Dann Show() auf das Objekt aufrufen.
  22. Das kann technisch nicht funktionieren das Reports ja nur in Kombination mit den entsprechenden Daten generiert werden können. Von L&L gibt es aber eine .NET Komponente die die LBL Datei laden, generieren, anzeigen und auch als JPG Speichern kann, wenn ihr die L&L Lizenz noch nicht habt kostet die Komponente unter 1000 €.
  23. Ich musste das jetzt 3 mal lesen und hab es immer noch nicht richtig verstanden. Du meinst ein Tester hat viel Tippaufwand um die Fehler zu dokumentieren die dann von einem Entwickler gefixt werden müssen? Oder der Entwickler versteht die Fehlerbeschreibung nicht? Dann stimmt an eurem Prozess was nicht, die Fehler müssten offensichtlich bei euch mit den Entwicklern besprochen werden. Dabei kann ein Bug-Tracking System wie TRAC, Bugzilla oder Team System stark helfen.
  24. Hi, eine lbl Datei kannst du natürlich nicht verwenden, die Picturebox kann nur die gebräuchlichen Bildformate. Ist das zufällig eine List and Labels Report Datei?

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