Zum Inhalt springen

geloescht_Henriette

Mitglieder
  • Gesamte Inhalte

    19
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von geloescht_Henriette

  1. "DataPropertyName"... man bin ich blind... :upps Danke. Jetzt funktioniert es. (Hatte ich bei der aspx-Version doch auch gemacht. Nur zu Fuß. Hmm.. Einfach nur den Code zusammenklicken ist wirklich nicht so toll. Jetzt weiß ich wieder warum ich lieber echten Code tippe.)
  2. Hallo Guybrush Threepwood Ich glaube ich stehe auf dem Schlauch… Oder ich sehe den Wald vor lauter Bäumen nicht mehr... Wo soll ich dem Grid sagen, außer welcher Spalte Sie kommen? Unter ASPX musste ich nichts machen. dgv.DataSource = ConvertNodeListToDataTable(elemList); ... DataTable ConvertNodeListToDataTable(XmlNodeList xnl) { DataTable dt = new DataTable(); try { //Spalten hinzufuegen string[,] col = new string[,] {{"col_1",dgv.Columns[0].HeaderText}, {"col_2",dgv.Columns[1].HeaderText}, {"col_3",dgv.Columns[2].HeaderText}, {"col_4",dgv.Columns[3].HeaderText}, {"col_5",dgv.Columns[4].HeaderText}, {"col_6",dgv.Columns[5].HeaderText}, {"col_7",dgv.Columns[6].HeaderText}, {"col_8",dgv.Columns[7].HeaderText}, {"col_9",dgv.Columns[8].HeaderText}, {"col_10",dgv.Columns[9].HeaderText}, {"col_11",dgv.Columns[10].HeaderText}, {"col_12",dgv.Columns[11].HeaderText}, {"col_13",dgv.Columns[12].HeaderText}, {"col_14",dgv.Columns[13].HeaderText}, {"col_15",dgv.Columns[14].HeaderText}}; for (int i = 0; i < (col.Length/2); i++) //-> '/2', wg. array { DataColumn dc = new DataColumn(col[i,1], System.Type.GetType("System.String")); dt.Columns.Add(dc); } //Zeilen hinzufuegen int ColumnsCount = dt.Columns.Count; for (int i = 0; i < xnl.Count; i++) //Anzahl Knoten durchgehen { DataRow dr = dt.NewRow(); for (int j = 0; j < ColumnsCount; j++) { XmlNode bookNode = xnl.Item(i).SelectSingleNode(col[j,0]); if (!(bookNode == null)) { String chk = bookNode.InnerText; ; dr[j] = chk; } else { dr[j] = " "; } } dt.Rows.Add(dr); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Exception"); } return dt; } Das DataGridView mit den dazugehörigen Spalten habe ich mit dem Assistenten des VS2008 erstellt. Dort konnte ich nichts angeben. Aber in meiner DataTable sind die Spaltennamen ja gleich.
  3. Ich würde es trotzdem machen. Hatte mich fürs WG angemeldet und 5 Wochen später eine Absage bekommen. Danach bin ich aufs TG gegangen und habe mich dort angemeldet (6 Wochen nach der Frist). Und es hat geklappt. Du könntest Dich auch bei mehreren Schulen anmelden. So ist die Chance evtl. größer.
  4. Kann mir jemand erklären wo der Unterschied zwischen GridView (ASPX) und DataGridView (C#) liegt? Ich habe eine Webseite gemacht (C#), wo ich eine XML-Datei in eine GridView ausgebe. Ohne Probleme. Das ganze wollte ich nun für einer Windows Applikation umschreiben. Hierfür benutze ich das DataGridView. Die Daten bekomme ich zwar angezeigt. Aber als zusätzliche Spalten zu meinen bestehenden Spalten. Das Problem hatte ich damals auch auf meiner Webseite. Dort musste ich der GridView noch folgendes mitgeben damit das ganze funktioniert: AutoGenerateColumns="false" Nun habe ich äquvalent dazu in meinem neuen Programm folgendes angegeben: dgv.AutoGenerateColumns = true; Hier funktioniert das ganze aber komischerweise nicht. Meine zusätzlichen Spalten mit den Ergebnissen werden zwar, wie bei der ASPX-Version, ausgeblendet aber die ursprünglichen werden nicht mit den Daten gefüllt. Wo liegt also der Unterschied? Bei beiden Versionen erstelle ich eine DataTable, die dazugehörige DataColumn und die DataRow. Danach weise ich die DataTable dem GridView bzw. DataGridView zu. ASPX / C#: dgv.DataSource = ConvertNodeListToDataTable(elemList); //gibt ein DataTable zurück dgv.DataBind(); Applikation / C#: DataTable dt = new DataTable(); ... dgv.DataSource = dt; Ein DataBind gibt es für DataGridView nicht. Ich weis, dass es einen einfacheren Weg gibt mit: DataSet ds = new DataSet("DataSet"); ds = xmlDatadoc.DataSet; dgv.DataSource = ds.DefaultViewManager; dgv.DataMember = "knotenXY"; Doch damit kann ich leider nicht arbeiten. Wenn nämlich Knoten fehlen (was manchmal vorkommen kann), wird die entsprechende Spalte gar nicht angeziegt. Und dann ist meine gewünschte feste Tabellenstruktur falsch. Daher der Umweg über DataTable und das füllen der leeren Knoten mit Space. Viele Grüße Henriette
  5. Ich löse das ganze nun wie folgt. (Auch wenn mir der Code nicht sonderlich gefällt.) private void treeView1_Click(object sender, TreeViewEventArgs e) { if (e.Node.Name.ToString().Equals("knoDatPruef")) { //Aufruf Programm fuer knoDatPruef } else if (e.Node.Name.ToString().Equals("knoDatPruef_NEU")) { //Aufruf Programm fuer knoDatPruef_NEU } else if (... } Vielen Dank an alle.
  6. Ich programmiere normalerweise in Java. Da definiere ich einfach ein Objekt auf das ich dann immer zugreifen kann. Sobald ich dieses dann auswähle wird ein Event ausgelöst und ich kann das Objekt abfragen. Sehr einfach das ganze. JMenuItem mitem1 = new JMenuItem(XML.btNeu); JMenuItem mitem2 = new JMenuItem(XML.btOeffnen); JMenuItem mitem3 = new JMenuItem(XML.btBeenden); ... public void actionPerformed(ActionEvent e) { if(e.getSource()==mitem1) { neu(); } else if(e.getSource()==mitem2) { oeffnen(); } else if(e.getSource()==mitem3) { beenden(); } } Dachte bei C# ist das genauso leicht...
  7. Mit f.Node.Name.ToString() bekomme ich zwar den Knoten, welchen ich angeklickt habe. Aber ich möchte nun wissen ob es der von mir gesuchte ist. Und hier habe ich das Problem. Ich möchte folgendes abfragen: public void tree_NodeMouseDoubleClick(object e, TreeNodeMouseClickEventargs f) { if (f.Node.Name == gesuchterKnoten_1) { //Aufruf Programm 1 } else if (f.Node.Name == gesuchterKnoten_2) { //Aufruf Programm 2 } } Wenn ich auf "gesuchterKnoten_1" abfragen möchte, bekomme ich folgende Meldung: Der Name "gesuchterKnoten_1" ist im aktuellen Kontext nicht vorhanden. Was muss ich nun nach dem "==" in der if-Anweisung schreiben, wenn ich NICHT nach dem Wert des Knotens fragen will sondern nach dem Variablennamen des Knotens. Hoffe Ihr könnt mir helfen...
  8. Vielleicht wird das ganze so verständlicher. Ich möchte nach der Variablen fragen die ausgewählt wurde. Nicht nach dem Inhalt der Variablen. (Wegen einer gewünschten sprachunabhängigkeit.) Im deutschen müßte ich auf "Neu" abfragen im englischen auf "New". Da ist die Variable "knotenNeu" schon besser. Liebe Grüße Henriette
  9. Hi Ich habe mal wieder eine Frage zu C#. Ich möchte mit Hilfe eines TreeView und druch Klicken der einzelnen Knoten diverse Methoden aufrufen. Ohne den "echten" Namen des Knotens anzugeben. Ich möchte folgenden Code so umschreiben, dass ich die Texte nicht statisch angebe: private void treeView1_Click(object sender, TreeViewEventArgs e) { if(treeView1.SelectedNode.Text == "Neu") { MessageBox.Show("Neu angeklickt"); neu(); } else if(treeView1.SelectedNode.Text == "Öffnen") { MessageBox.Show("Öffnen angeklickt"); oeffnen(); } else { MessageBox.Show("Beenden geklickt"); beenden(); } } Sondern eher so etwa wie es auch in Java gibt: public void actionPerformed(ActionEvent e) { if(e.getSource()==mitem1) { neu(); } else if(e.getSource()==mitem2) { oeffnen(); } else if(e.getSource()==mitem4) { beenden(); } } "mitem1" in C# wäre dann mein Knoten im TreeView "knotenNeu" (und nicht der Text des Knotens "Neu"). Hoffe ich habe mich verständlich ausgedrückt... Viele Grüße Henriette
  10. Hiermit funktioniert das ganze übrigens wunderbar. Danke. Hat leider nicht ganz geklappt. Probiere es Morgen noch einmal. Da das ganze mit HttpUtility.HtmlDecode geklappt hat. Mache ich hier mal weiter. Vielen lieben Dank an alle.
  11. Nicht direkt. Die Daten hole ich aus einer XML. Da ich nur bestimmte Knoten benötige. Habe ich die entsprechenden Knoten mit den Unterknoten in eine XmlNodeList geladen. Um diese Liste nun der GridView hinzuzufügen habe ich eine Methode welche eine DataTable mit den dazugehörigen DataRow erstellt. Diese weise ich dann im Hauptprogramm der GridView zu. GridView1.DataSource = convXmlNodeListToDataTable(nodelist); GridView1.DataBind(); Anders habe ich es nicht hinbekommen(siehe http://forum.fachinformatiker.de/net/123539-xmlnode-streamwriter-einlesen-geht.html?). Arbeite erst seitr 4 Wochen mit C#…
  12. TableCell tc = selectedRow.Cells[0]; NAME.Text = tc.Text;
  13. Hi Im großen und ganzen hört sich das für mich OK an. Du erstellst ein Ticket-System und programmierst mit PHP. Was genau versteht man unter Textildruck? Wenn Du bedenken hast, kannst Du Dich auch an die IHK wenden und dort nachfragen. Oder Du frägst einen Deiner Lehrer. Ich selbst hatte das Problem, dass mein Ausbildungsinhalt verfehlt wurde. Ich bin auch FiAE. Ich musste als Empfangsdame und Sekräterin arbeiten. Musste einkaufen und Kaffe kochen. Die Begründung "Ich sei eine Frau und habe diese Voraussetzungen. Zum programmieren bin ich nicht geeignet.". Danach habe ich mich bei der IHK beschwert und den Ausbildungsbetrieb gewechselt. Dort durfte ich dann richtig programmieren und teilw. selbst die Richtlinien festlegen. Mein Abschluss war sehr gut. Bekam auch eine Belobigung. Mein alter Ausbildungsbetrieb darf nicht mehr ausbilden. Viele Grüße Henriette
  14. Hi Beim auslesen meiner GridView in entsprechenden Textfelder werden die Umlaute in HTML-Code dargestellt. Das ganze kann ich beheben, wenn ich in meinem C#-Programm die Funktion Replace benutze. Klappt auch ganz gut. Mein Problem ist nun, dass ich auch ausländische Namen in meiner DB habe. Und ich kann doch nicht sämtliche Sonderzeichen in der Replace Funktion ersetzen. Das wären ja hunderte. Gibt es nicht einen einfacheren Weg? public String convUmlaut(String eingabe) { eingabe = eingabe.Replace("& #196;", "Ä"); eingabe = eingabe.Replace("& #228;", "ä"); eingabe = eingabe.Replace("& #220;", "Ü"); eingabe = eingabe.Replace("& #252;", "ü"); eingabe = eingabe.Replace("& #214;", "Ö"); eingabe = eingabe.Replace("& #246;", "ö"); eingabe = eingabe.Replace("& #223;", "ß"); eingabe = eingabe.Replace("& #199;", "Ç"); //... return eingabe; } (Zwischen "& #" ist bei mir im Originalcode kein Leerzeichen. Aber hier wird immer automatisch das richtige Sonderzeichen dargestellt.) Liebe Grüße Henriette
  15. Hallo U[[ °LoneWolf°. Danke für Deine Antwort. So habe ich das nun auch gelöst. Alles in ein XmlDocument gelesen und das ganze dann mit XmlNodeList und einer Schleife ausgelesen. Das ganze habe ich dann in einen Stream gelesen und das an das DataSet übergeben. So konnte ich endlich meine GridView nur mit den gewünschten Feldern füllen. Das Problem der fehlenden Zeile kam, wenn der Knoten nicht vorhanden war. Ist mir aber ein Rätsel warum es nun tut. Das Visual Studio 2008 hat manchmal echt komische Macken... Vielen Dank an alle.
  16. Ein "StreamWriter (XXX)" erwartet immer einen Wert in der Klammer. Nur, was schreiben, wenn ich gar nichts habe? Ich hatte ursprünglich folgenden Code: XmlReader myXmlReader = XmlReader.Create(Server.MapPath("Test.xml")); DataSet ds = new DataSet(); ds.ReadXml(myXmlReader); myXmlReader.Close(); GridView1.DataSource = ds; GridView1.DataBind(); ASPX: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowCommand="GridView1_RowCommand" GridLines="None"> <Columns> <asp:BoundField HeaderText="Name von" DataField="l_name" /> <asp:BoundField HeaderText="Vorname" DataField="l_vorname" /> <asp:BoundField HeaderText="Zimmer" DataField="l_zimmer" /> <asp:ButtonField CommandName="Strada" Text="übernehmen"/> </Columns> </asp:GridView> Problem hier war, dass mir das GridView nicht angezeigt wurde. Erst als ich um <name>Werner-Siemens-Schule</name> <anz_lehrer>2</anz_lehrer> auch das Tag "<lehrer>" gemacht habe, wurde das GridView angezeigt. Allerdings mit einer Leerzeile. Auch wenn ein Tag fehlte, z.B. <l_zimmer> (nicht jeder Lehrer hat ein eigenes Zimmer) wurde mir der Inhalt nicht angezeigt. Daher dachte ich, dass für mich eher XmlDocument und XmlNodeList in Frage kommen würde. Habt Ihr einen Tipp wie ich einfach nur die blöden Unterknoten in das GridView bekomme unabhängig vom Haupknoten und egal, ob ein Element im Unterknoten leer ist oder nicht? Mache nun schon seit einer Woche dran rum. Und so schwer kann das alles doch gar nicht sein...
  17. Aber wie soll ich den StreamWriter dann anlegen? Ich weiß doch zu diesem Zeitpunkt noch gar nicht was drinnen steht.
  18. Hi Wer kann mir bei folgendem Problem helfen. Bin leider etwas ratlos. Ich möchte aus einer XML-Datei nur bestimmte Knoten (lehrer) einlesen und diese in einer GridView anzeigen lassen. Wenn ich das ganze in eine ListBox einfügen würde gehts. Aber ich brauche die GridView für eine spätere Verarbeitung. Meine XML-Datei: <?xml version="1.0" encoding="utf-8"?> <schule> <name>Werner-Siemens-Schule</name> <anz_lehrer>2</anz_lehrer> <lehrer> <l_name>Mueller</l_name> <l_vorname>Hans</l_vorname> <l_zimmer>15</l_zimmer> </lehrer> <lehrer> <l_name>Mayer</l_name> <l_vorname>Maria</l_vorname> <l_zimmer>9</l_zimmer> </lehrer> </schule> Folgenden Code habe ich: XmlDocument doc = new XmlDocument(); doc.Load(Server.MapPath("Test.xml")); XmlNodeList nodeList = doc.SelectNodes("/schule/lehrer"); //StreamWriter writer = new StreamWriter(); foreach (XmlNode node in nodeList) { //writer.Write(node.InnerXml); ListBox1.Items.Add(node.InnerText.ToString()); } //---fuer StreamWriter--- //DataSet ds = new DataSet(); //ds.ReadXml(writer.ToString()); //GridView1.DataSource = ds.Tables[0]; //GridView1.DataBind(); Wenn ich nun den auskommentierten Code wieder reinmache und das mit der ListBox auskommentiere, gehts nicht. Fehlermeldungen bei folgenden Versuchen: 1. StreamWriter writer = new StreamWriter(); -> CS1729: "System.IO.StreamWriter" enthält keinen Konstruktor, der 0-Argumente akzeptiert. 2. StreamWriter writer = null; writer.Write(node.InnerXml); -> "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." Was mache ich falsch? Gruß Henriette

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