Sammlung einer Combobox erweitern und Speichern

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Blackn0va.

    Sammlung einer Combobox erweitern und Speichern

    Hallo ,


    ich habe eine kleine Anwendung zur Inventarisierung, in der Form sind einige Comboboxen die Ungebundene Inhalte besitzen die aus der Sammlung kommen.

    Die Sammlung der Combobox kann ich zur Laufzeit erweitern mit:

    VB.NET-Quellcode

    1. ​comboBox1.Items.Add(textBox1.Text)


    Aber der Eintrag in der Sammlung wird nicht Gespeichert. Kann mir jemand einen Tipp geben?
    Ich sehe ja auch nirgends ein Code Schnippsel der irgendwas speichern soll.
    Magst du den noch nachreichen?
    Ungebundene Comboboxen sind immer doof, setzt da doch ein Dataset mit Datatable hinter, dann geht das speichern ganz einfach
    Ja also Hier der Code.. Ich weiß das ich das Recht umständlich mache, nur hab ich einfach Schwierigkeiten mit gebundenen Comboboxen, da hab ich immer wieder Schwierigkeiten mit der Form und der Darstellung der Einträge in der XML..


    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.Xml
    3. Imports System.IO
    4. Public Class Hauptprogramm
    5. '** Globale Variablendeklaration **
    6. Dim DateiPfad As String = My.Computer.FileSystem.SpecialDirectories.Desktop + "/abc.xml"
    7. Private Sub cmdSpeichern_Click(sender As Object, e As EventArgs) Handles cmdSpeichern.Click
    8. '** Deklarationen **
    9. Dim xmldoc As XmlDocument
    10. xmldoc = New XmlDocument
    11. If System.IO.File.Exists(DateiPfad) Then
    12. xmldoc.Load(DateiPfad)
    13. Else
    14. Dim enc As New System.Text.UnicodeEncoding
    15. ' XmlTextWriter-Objekt für unsere Ausgabedatei erzeugen:
    16. Dim XMLobj As Xml.XmlTextWriter = New Xml.XmlTextWriter(DateiPfad, enc)
    17. With XMLobj
    18. .Formatting = Xml.Formatting.Indented
    19. .Indentation = 4
    20. ' Dann fangen wir mal an:
    21. .WriteStartDocument()
    22. .WriteStartElement("Inventar")
    23. .WriteEndElement()
    24. .Close()
    25. End With
    26. xmldoc.Load(DateiPfad)
    27. End If
    28. Dim xml_Termin As XmlNode
    29. '** Vorname Definieren **
    30. xml_Termin = xmldoc.CreateElement("Mitarbeiter")
    31. '**Vorname **
    32. Dim xml_Vorname As XmlAttribute
    33. xml_Vorname = xmldoc.CreateAttribute("Vorname")
    34. Dim xml_Nachname As XmlAttribute
    35. xml_Nachname = xmldoc.CreateAttribute("Nachname")
    36. Dim xml_Handyeigentuemer As XmlAttribute
    37. xml_Handyeigentuemer = xmldoc.CreateAttribute("Handyeigentümer")
    38. Dim xml_SIMEigentuemer As XmlAttribute
    39. xml_SIMEigentuemer = xmldoc.CreateAttribute("SIM-eigentümer")
    40. Dim xml_Vertragspartner As XmlAttribute
    41. xml_Vertragspartner = xmldoc.CreateAttribute("Vertragspartner")
    42. Dim xml_Rechnungsempfaenger As XmlAttribute
    43. xml_Rechnungsempfaenger = xmldoc.CreateAttribute("Rechnungsempfänger")
    44. Dim xml_Handytyp As XmlAttribute
    45. xml_Handytyp = xmldoc.CreateAttribute("Handytyp")
    46. Dim xml_HandySN As XmlAttribute
    47. xml_HandySN = xmldoc.CreateAttribute("Handy-SN")
    48. Dim xml_SIMSN As XmlAttribute
    49. xml_SIMSN = xmldoc.CreateAttribute("SIM-SN")
    50. Dim xml_SIMTyp As XmlAttribute
    51. xml_SIMTyp = xmldoc.CreateAttribute("SIM-Typ")
    52. Dim xml_SIMPIN As XmlAttribute
    53. xml_SIMPIN = xmldoc.CreateAttribute("SIM-PIN")
    54. Dim xml_SIMPUK As XmlAttribute
    55. xml_SIMPUK = xmldoc.CreateAttribute("SIM-PUK")
    56. Dim xml_NotizSIM As XmlAttribute
    57. xml_NotizSIM = xmldoc.CreateAttribute("Notiz-SIM")
    58. Dim xml_Tarif As XmlAttribute
    59. xml_Tarif = xmldoc.CreateAttribute("Tarif")
    60. Dim xml_mtlKostenNetto As XmlAttribute
    61. xml_mtlKostenNetto = xmldoc.CreateAttribute("Mtl_Kosten_Netto")
    62. Dim xml_mtlKostenBrutto As XmlAttribute
    63. xml_mtlKostenBrutto = xmldoc.CreateAttribute("Mtl_Kosten_Brutto")
    64. Dim xml_RahmenvertragsNr As XmlAttribute
    65. xml_RahmenvertragsNr = xmldoc.CreateAttribute("Rahmenvertrags-Nr")
    66. Dim xml_KundenNr As XmlAttribute
    67. xml_KundenNr = xmldoc.CreateAttribute("Kunden-Nr")
    68. Dim xml_kundenkonto As XmlAttribute
    69. xml_kundenkonto = xmldoc.CreateAttribute("Kundenkonto")
    70. Dim xml_Vertragsbeginn As XmlAttribute
    71. xml_Vertragsbeginn = xmldoc.CreateAttribute("Vertragsbeginn")
    72. Dim xml_Vertragsende As XmlAttribute
    73. xml_Vertragsende = xmldoc.CreateAttribute("Vertragsende")
    74. Dim xml_kuendigungsfristBis As XmlAttribute
    75. xml_kuendigungsfristBis = xmldoc.CreateAttribute("Kuendigungsfrist-bis")
    76. Dim xml_iPadVonDomicil As XmlAttribute
    77. xml_iPadVonDomicil = xmldoc.CreateAttribute("iPadVonDomicil")
    78. Dim xml_iPadSN As XmlAttribute
    79. xml_iPadSN = xmldoc.CreateAttribute("iPad-SN")
    80. Dim xml_PCTyp As XmlAttribute
    81. xml_PCTyp = xmldoc.CreateAttribute("PC-Typ")
    82. Dim xml_PCInventarNr As XmlAttribute
    83. xml_PCInventarNr = xmldoc.CreateAttribute("PC-Inventar-Nr")
    84. Dim xml_Notebooktyp As XmlAttribute
    85. xml_Notebooktyp = xmldoc.CreateAttribute("Notebooktyp")
    86. Dim xml_NotebookSN As XmlAttribute
    87. xml_NotebookSN = xmldoc.CreateAttribute("Notebook-SN")
    88. Dim xml_NotebookInventNr As XmlAttribute
    89. xml_NotebookInventNr = xmldoc.CreateAttribute("Notebook-Inventar-Nr")
    90. Dim xml_AnzahlExtMonitore As XmlAttribute
    91. xml_AnzahlExtMonitore = xmldoc.CreateAttribute("Anzahl-Ext-Monitore")
    92. Dim xml_Dockingstation As XmlAttribute
    93. xml_Dockingstation = xmldoc.CreateAttribute("Dockingstation")
    94. Dim xml_Headset As XmlAttribute
    95. xml_Headset = xmldoc.CreateAttribute("Headset")
    96. Dim xml_NotizPC As XmlAttribute
    97. xml_NotizPC = xmldoc.CreateAttribute("Notiz-PC")
    98. '**Vorname Speichern **
    99. xml_Vorname.InnerText = txtName.Text
    100. '** Nachname Speichern **
    101. xml_Nachname.InnerText = txtNachname.Text
    102. '** Handyeigentümer Speichern *
    103. If cboHandyeigentuemer.SelectedIndex = -1 Then
    104. Else
    105. xml_Handyeigentuemer.InnerText = cboHandyeigentuemer.SelectedItem.ToString()
    106. End If
    107. '** SIM Eigentümer **
    108. If cboSIMEigentuemer.SelectedIndex = -1 Then
    109. Else
    110. xml_SIMEigentuemer.InnerText = cboSIMEigentuemer.SelectedItem.ToString()
    111. End If
    112. '** Vertragspartner **
    113. xml_Vertragspartner.InnerText = txtVertragspartner.Text
    114. '** Rechnungsempfänger **
    115. If cboRechnungsempfaenger.SelectedIndex = -1 Then
    116. Else
    117. xml_Rechnungsempfaenger.InnerText = cboRechnungsempfaenger.SelectedItem.ToString()
    118. End If
    119. '** Handytyp **
    120. If cboHandytyp.SelectedIndex = -1 Then
    121. Else
    122. xml_Handytyp.InnerText = cboHandytyp.SelectedItem.ToString()
    123. End If
    124. '** HandySN **
    125. xml_HandySN.InnerText = txtHandySN.Text
    126. '* SIM-SN **
    127. xml_SIMSN.InnerText = txtSIMSN.Text
    128. '** Sim-Typ **
    129. If cboSIMTyp.SelectedIndex = -1 Then
    130. Else
    131. xml_SIMTyp.InnerText = cboSIMTyp.SelectedItem.ToString()
    132. End If
    133. '** SimPIN **
    134. xml_SIMPIN.InnerText = txtSIMPin.Text
    135. '** SimPUK **
    136. xml_SIMPUK.InnerText = txtSIMPUK.Text
    137. '** Notiz SIM **
    138. xml_NotizSIM.InnerText = txtNotizSIm.Text
    139. '** Tarif **
    140. xml_Tarif.InnerText = txtTarif.Text
    141. '** Mtl Kosten Netto **
    142. xml_mtlKostenNetto.InnerText = txtMtlKostenNetto.Text
    143. '** Mtl Kosten Brutto **
    144. xml_mtlKostenBrutto.InnerText = txtMtlKostenBrutto.Text
    145. '** Rahmenvertragsnummer **
    146. xml_RahmenvertragsNr.InnerText = txtRahmenvertragsnummer.Text
    147. '** Kundennummer **
    148. xml_KundenNr.InnerText = txtKundenNr.Text
    149. '** Kundenkonto **
    150. xml_kundenkonto.InnerText = txtKundenkonto.Text
    151. '**Vertragsbeginn **
    152. If dtpVertragsbeginn.Checked = True Then
    153. xml_Vertragsbeginn.InnerText = dtpVertragsbeginn.Value.ToShortDateString()
    154. Else
    155. End If
    156. '** Vertragsende **
    157. If dtpVertragsende.Checked = True Then
    158. xml_Vertragsende.InnerText = dtpVertragsende.Value.ToShortDateString()
    159. Else
    160. End If
    161. '** Kündigungsfrist **
    162. If dtpKuendigungsfrist.Checked = True Then
    163. xml_kuendigungsfristBis.InnerText = dtpKuendigungsfrist.Value.ToShortDateString()
    164. Else
    165. End If
    166. '** iPad von Domicil **
    167. xml_iPadVonDomicil.InnerText = ckbiPadVonDomicil.CheckState.ToString()
    168. '** iPad Seriennummer **
    169. xml_iPadSN.InnerText = txtiPadSN.Text
    170. '** PC-Typ **
    171. If cboPcTyp.SelectedIndex = -1 Then
    172. Else
    173. xml_PCTyp.InnerText = cboPcTyp.SelectedItem.ToString()
    174. End If
    175. '** PC Inventar Nr **
    176. xml_PCInventarNr.InnerText = txtPCInventarNr.Text
    177. '** Notebooktyp **
    178. If cboNotebooktyp.SelectedIndex = -1 Then
    179. Else
    180. xml_Notebooktyp.InnerText = cboNotebooktyp.SelectedItem.ToString()
    181. End If
    182. '** Notebook SN **
    183. xml_NotebookSN.InnerText = txtNotebookSN.Text
    184. '** Notebook Inventar Nr **
    185. xml_NotebookInventNr.InnerText = txtNotebookInventNr.Text
    186. '** Anzahl Externer Monitore **
    187. xml_AnzahlExtMonitore.InnerText = numAnzahlExtMonitore.Value.ToString()
    188. '** Dockingstation **
    189. xml_Dockingstation.InnerText = ckbDockingstation.CheckState.ToString()
    190. '** Headset **
    191. xml_Headset.InnerText = ckbHeadset.CheckState.ToString()
    192. '** Notiz PC**
    193. xml_NotizPC.InnerText = txtNotizPC.Text
    194. xml_Termin.Attributes.Append(xml_Vorname)
    195. xml_Termin.Attributes.Append(xml_Nachname)
    196. xml_Termin.Attributes.Append(xml_Handyeigentuemer)
    197. xml_Termin.Attributes.Append(xml_SIMEigentuemer)
    198. xml_Termin.Attributes.Append(xml_Vertragspartner)
    199. xml_Termin.Attributes.Append(xml_Rechnungsempfaenger)
    200. xml_Termin.Attributes.Append(xml_Handytyp)
    201. xml_Termin.Attributes.Append(xml_HandySN)
    202. xml_Termin.Attributes.Append(xml_SIMSN)
    203. xml_Termin.Attributes.Append(xml_SIMTyp)
    204. xml_Termin.Attributes.Append(xml_SIMPIN)
    205. xml_Termin.Attributes.Append(xml_SIMPUK)
    206. xml_Termin.Attributes.Append(xml_NotizSIM)
    207. xml_Termin.Attributes.Append(xml_Tarif)
    208. xml_Termin.Attributes.Append(xml_mtlKostenNetto)
    209. xml_Termin.Attributes.Append(xml_mtlKostenBrutto)
    210. xml_Termin.Attributes.Append(xml_RahmenvertragsNr)
    211. xml_Termin.Attributes.Append(xml_KundenNr)
    212. xml_Termin.Attributes.Append(xml_kundenkonto)
    213. xml_Termin.Attributes.Append(xml_Vertragsbeginn)
    214. xml_Termin.Attributes.Append(xml_Vertragsende)
    215. xml_Termin.Attributes.Append(xml_kuendigungsfristBis)
    216. xml_Termin.Attributes.Append(xml_iPadVonDomicil)
    217. xml_Termin.Attributes.Append(xml_iPadSN)
    218. xml_Termin.Attributes.Append(xml_PCTyp)
    219. xml_Termin.Attributes.Append(xml_PCInventarNr)
    220. xml_Termin.Attributes.Append(xml_Notebooktyp)
    221. xml_Termin.Attributes.Append(xml_NotebookSN)
    222. xml_Termin.Attributes.Append(xml_NotebookInventNr)
    223. xml_Termin.Attributes.Append(xml_AnzahlExtMonitore)
    224. xml_Termin.Attributes.Append(xml_Dockingstation)
    225. xml_Termin.Attributes.Append(xml_Headset)
    226. xml_Termin.Attributes.Append(xml_NotizPC)
    227. '** Speichern des XML Dokuments **
    228. xmldoc.DocumentElement.AppendChild(xml_Termin)
    229. xmldoc.Save(DateiPfad)
    230. '** Textfelder Leeren **
    231. txtName.Text = ""
    232. txtNachname.Text = ""
    233. cboHandyeigentuemer.SelectedIndex = -1
    234. cboSIMEigentuemer.SelectedIndex = -1
    235. txtVertragspartner.Text = ""
    236. cboRechnungsempfaenger.SelectedIndex = -1
    237. cboHandytyp.SelectedIndex = -1
    238. txtHandySN.Text = ""
    239. txtSIMSN.Text = ""
    240. cboSIMTyp.SelectedIndex = -1
    241. txtSIMPin.Text = ""
    242. txtSIMPUK.Text = ""
    243. txtNotizSIm.Text = ""
    244. txtTarif.Text = ""
    245. txtMtlKostenNetto.Text = ""
    246. txtMtlKostenBrutto.Text = ""
    247. txtRahmenvertragsnummer.Text = ""
    248. txtKundenNr.Text = ""
    249. txtKundenkonto.Text = ""
    250. dtpVertragsbeginn.Checked = False
    251. dtpVertragsende.Checked = False
    252. dtpKuendigungsfrist.Checked = False
    253. ckbiPadVonDomicil.Checked = False
    254. txtiPadSN.Text = ""
    255. cboPcTyp.SelectedIndex = -1
    256. txtPCInventarNr.Text = ""
    257. cboNotebooktyp.SelectedIndex = -1
    258. txtNotebookSN.Text = ""
    259. txtNotebookInventNr.Text = ""
    260. numAnzahlExtMonitore.Value = 0
    261. ckbDockingstation.Checked = False
    262. txtNotizPC.Text = ""
    263. cboSIMEigentuemer.SelectedIndex = -1
    264. ckbHeadset.Checked = False
    265. End Sub
    266. Private Sub Hauptprogramm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    267. InventarDataSet.ReadXml(DateiPfad)
    268. DataGridView1.DataSource = InventarDataSet
    269. DataGridView1.DataMember = "Mitarbeiter"
    270. End Sub
    271. Private Sub cmdHandyHinzufügen_Click(sender As Object, e As EventArgs) Handles cmdHandyHinzufügen.Click
    272. '** Sammlung erweitertn Test **
    273. '** HIER WOLLTE ICH DIE SAMMLUNG ERWEITERN; ABER DIESE EBEN AUCH SPEICHERN **
    274. cboHandytyp.Items.Add(txtHandyHinzufügen.Text)
    275. End Sub
    276. End Class


    die Ausgabe der XML ist:
    Spoiler anzeigen

    XML-Quellcode

    1. <?xml version="1.0" encoding="utf-16"?>
    2. <Inventar>
    3. <Mitarbeiter Vorname="" Nachname="" Handyeigentümer="" SIM-eigentümer="" Vertragspartner="" Rechnungsempfänger="" Handytyp="" Handy-SN="" SIM-SN="" SIM-Typ="" SIM-PIN="" SIM-PUK="" Notiz-SIM="" Tarif="" Mtl_Kosten_Netto="" Mtl_Kosten_Brutto="" Rahmenvertrags-Nr="" Kunden-Nr="" Kundenkonto="" Vertragsbeginn="" Vertragsende="" Kuendigungsfrist-bis="" iPadVonDomicil="Unchecked" iPad-SN="" PC-Typ="" PC-Inventar-Nr="" Notebooktyp="" Notebook-SN="" Notebook-Inventar-Nr="" Anzahl-Ext-Monitore="5" Dockingstation="Unchecked" Headset="Unchecked" Notiz-PC="" />
    4. </Inventar>


    Oder kann ich einfach in einer Extra Node die Sammlung in die XML schreiben und da wieder rauslesen und in die Combobox eintragen?

    ps: Mir ist aufgefalen das im Forum der Counter für die Bearbeitung nicht richtig funktioniert. Ich hab jetzt 3 Mal bearbeitet ^

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Blackn0va“ ()

    Über die Settings kann man glaub auch "Sammlungen" speichern. Ist am unkompliziertesten.

    Woher kommt die xml?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @Blackn0va Weise der Combobox eine DataSource zu, die kannst Du dann nach belieben erweitern und speichern, z.B. ein String-Array oder eine List(Of String).
    Pack die in eine separate Klasse und serialisiere die als XML.
    Feddich.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    was mrMo meint ist in den My.Settings der Datentyp Specialized.String.Collection (Oder so ähnlich :))
    Die ganze schreibarbeit kannst du dir das nächste mal sparen, wenn du dir per Designer eine Dataset zusammenklickst, das übernimmt das ganze XML gehampel für dich
    Okay, das hab ich jetzt zumindest mit einer comboboy gemacht (Handytyp)

    Wenn ich nun in der Form ein neues Handy hinzufüge, werden die Inhalte in der ComboBox verdoppelt, aber der Inhalt der ComboBox wird richtig gespeichert.
    Ich habs mit cbo.items.clear() versucht, aber bei Datengebundene ComboBoxen geht das nicht.

    Was hab ich vergessen?

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.Xml
    3. Imports System.IO
    4. Public Class Hauptprogramm
    5. '** Globale Variablendeklaration **
    6. Dim DateiPfad As String = My.Computer.FileSystem.SpecialDirectories.Desktop + "/abc.xml"
    7. Private Sub cmdSpeichern_Click(sender As Object, e As EventArgs) Handles cmdSpeichern.Click
    8. Speichern()
    9. End Sub
    10. Private Sub Hauptprogramm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    11. DatenLaden()
    12. End Sub
    13. Private Sub cmdHandyHinzufügen_Click(sender As Object, e As EventArgs) Handles cmdHandyHinzufügen.Click
    14. Speichern()
    15. Me.Refresh()
    16. End Sub
    17. Private Sub cmdSimTypHinzufuegen_Click(sender As Object, e As EventArgs) Handles cmdSimTypHinzufuegen.Click
    18. Speichern()
    19. End Sub
    20. Private Sub DatenLaden()
    21. '** DataGridView bei Load mit Daten befüllen **
    22. InventarDataSet.ReadXml(DateiPfad)
    23. DataGridView1.DataSource = InventarDataSet
    24. DataGridView1.DataMember = "Mitarbeiter"
    25. '** ComboBox Handytyp bei Load mit Daten befüllen **
    26. HandyTypDataSet.ReadXml(DateiPfad)
    27. Dim HandyTypBindingSource As New BindingSource(HandyTypDataSet, "Handytyp")
    28. cboHandytyp.DataSource = HandyTypBindingSource
    29. cboHandytyp.DisplayMember = "Typ"
    30. '** ComboBox Simtyp bei Load mit Daten befüllen **
    31. SimTypDataSet.ReadXml(DateiPfad)
    32. Dim SimTypBindingSource As New BindingSource(SimTypDataSet, "Simtyp")
    33. cboSIMTyp.DataSource = SimTypBindingSource
    34. cboSIMTyp.DisplayMember = "Typ"
    35. End Sub
    36. Private Sub Speichern()
    37. '** Deklarationen **
    38. Dim xmldoc As XmlDocument
    39. xmldoc = New XmlDocument
    40. If System.IO.File.Exists(DateiPfad) Then
    41. xmldoc.Load(DateiPfad)
    42. Else
    43. Dim enc As New System.Text.UnicodeEncoding
    44. ' XmlTextWriter-Objekt für unsere Ausgabedatei erzeugen:
    45. Dim XMLobj As Xml.XmlTextWriter = New Xml.XmlTextWriter(DateiPfad, enc)
    46. With XMLobj
    47. .Formatting = Xml.Formatting.Indented
    48. .Indentation = 4
    49. ' Dann fangen wir mal an:
    50. .WriteStartDocument()
    51. .WriteStartElement("Inventar")
    52. .WriteEndElement()
    53. .Close()
    54. End With
    55. xmldoc.Load(DateiPfad)
    56. End If
    57. Dim xml_Termin As XmlNode
    58. '** Vorname Definieren **
    59. xml_Termin = xmldoc.CreateElement("Mitarbeiter")
    60. '**Vorname **
    61. Dim xml_Vorname As XmlAttribute
    62. xml_Vorname = xmldoc.CreateAttribute("Vorname")
    63. Dim xml_Nachname As XmlAttribute
    64. xml_Nachname = xmldoc.CreateAttribute("Nachname")
    65. Dim xml_Handyeigentuemer As XmlAttribute
    66. xml_Handyeigentuemer = xmldoc.CreateAttribute("Handyeigentümer")
    67. Dim xml_SIMEigentuemer As XmlAttribute
    68. xml_SIMEigentuemer = xmldoc.CreateAttribute("SIM-eigentümer")
    69. Dim xml_Vertragspartner As XmlAttribute
    70. xml_Vertragspartner = xmldoc.CreateAttribute("Vertragspartner")
    71. Dim xml_Rechnungsempfaenger As XmlAttribute
    72. xml_Rechnungsempfaenger = xmldoc.CreateAttribute("Rechnungsempfänger")
    73. Dim xml_Handytyp As XmlAttribute
    74. xml_Handytyp = xmldoc.CreateAttribute("Handytyp")
    75. Dim xml_HandySN As XmlAttribute
    76. xml_HandySN = xmldoc.CreateAttribute("Handy-SN")
    77. Dim xml_SIMSN As XmlAttribute
    78. xml_SIMSN = xmldoc.CreateAttribute("SIM-SN")
    79. Dim xml_SIMTyp As XmlAttribute
    80. xml_SIMTyp = xmldoc.CreateAttribute("SIM-Typ")
    81. Dim xml_SIMPIN As XmlAttribute
    82. xml_SIMPIN = xmldoc.CreateAttribute("SIM-PIN")
    83. Dim xml_SIMPUK As XmlAttribute
    84. xml_SIMPUK = xmldoc.CreateAttribute("SIM-PUK")
    85. Dim xml_NotizSIM As XmlAttribute
    86. xml_NotizSIM = xmldoc.CreateAttribute("Notiz-SIM")
    87. Dim xml_Tarif As XmlAttribute
    88. xml_Tarif = xmldoc.CreateAttribute("Tarif")
    89. Dim xml_mtlKostenNetto As XmlAttribute
    90. xml_mtlKostenNetto = xmldoc.CreateAttribute("Mtl_Kosten_Netto")
    91. Dim xml_mtlKostenBrutto As XmlAttribute
    92. xml_mtlKostenBrutto = xmldoc.CreateAttribute("Mtl_Kosten_Brutto")
    93. Dim xml_RahmenvertragsNr As XmlAttribute
    94. xml_RahmenvertragsNr = xmldoc.CreateAttribute("Rahmenvertrags-Nr")
    95. Dim xml_KundenNr As XmlAttribute
    96. xml_KundenNr = xmldoc.CreateAttribute("Kunden-Nr")
    97. Dim xml_kundenkonto As XmlAttribute
    98. xml_kundenkonto = xmldoc.CreateAttribute("Kundenkonto")
    99. Dim xml_Vertragsbeginn As XmlAttribute
    100. xml_Vertragsbeginn = xmldoc.CreateAttribute("Vertragsbeginn")
    101. Dim xml_Vertragsende As XmlAttribute
    102. xml_Vertragsende = xmldoc.CreateAttribute("Vertragsende")
    103. Dim xml_kuendigungsfristBis As XmlAttribute
    104. xml_kuendigungsfristBis = xmldoc.CreateAttribute("Kuendigungsfrist-bis")
    105. Dim xml_iPadVonDomicil As XmlAttribute
    106. xml_iPadVonDomicil = xmldoc.CreateAttribute("iPadVonDomicil")
    107. Dim xml_iPadSN As XmlAttribute
    108. xml_iPadSN = xmldoc.CreateAttribute("iPad-SN")
    109. Dim xml_PCTyp As XmlAttribute
    110. xml_PCTyp = xmldoc.CreateAttribute("PC-Typ")
    111. Dim xml_PCInventarNr As XmlAttribute
    112. xml_PCInventarNr = xmldoc.CreateAttribute("PC-Inventar-Nr")
    113. Dim xml_Notebooktyp As XmlAttribute
    114. xml_Notebooktyp = xmldoc.CreateAttribute("Notebooktyp")
    115. Dim xml_NotebookSN As XmlAttribute
    116. xml_NotebookSN = xmldoc.CreateAttribute("Notebook-SN")
    117. Dim xml_NotebookInventNr As XmlAttribute
    118. xml_NotebookInventNr = xmldoc.CreateAttribute("Notebook-Inventar-Nr")
    119. Dim xml_AnzahlExtMonitore As XmlAttribute
    120. xml_AnzahlExtMonitore = xmldoc.CreateAttribute("Anzahl-Ext-Monitore")
    121. Dim xml_Dockingstation As XmlAttribute
    122. xml_Dockingstation = xmldoc.CreateAttribute("Dockingstation")
    123. Dim xml_Headset As XmlAttribute
    124. xml_Headset = xmldoc.CreateAttribute("Headset")
    125. Dim xml_NotizPC As XmlAttribute
    126. xml_NotizPC = xmldoc.CreateAttribute("Notiz-PC")
    127. '**Vorname Speichern **
    128. xml_Vorname.InnerText = txtName.Text
    129. '** Nachname Speichern **
    130. xml_Nachname.InnerText = txtNachname.Text
    131. '** Handyeigentümer Speichern *
    132. If cboHandyeigentuemer.SelectedIndex = -1 Then
    133. Else
    134. xml_Handyeigentuemer.InnerText = cboHandyeigentuemer.SelectedItem.ToString()
    135. End If
    136. '** SIM Eigentümer **
    137. If cboSIMEigentuemer.SelectedIndex = -1 Then
    138. Else
    139. xml_SIMEigentuemer.InnerText = cboSIMEigentuemer.SelectedItem.ToString()
    140. End If
    141. '** Vertragspartner **
    142. xml_Vertragspartner.InnerText = txtVertragspartner.Text
    143. '** Rechnungsempfänger **
    144. If cboRechnungsempfaenger.SelectedIndex = -1 Then
    145. Else
    146. xml_Rechnungsempfaenger.InnerText = cboRechnungsempfaenger.SelectedItem.ToString()
    147. End If
    148. '** Handytyp **
    149. If cboHandytyp.SelectedIndex = -1 Then
    150. Else
    151. xml_Handytyp.InnerText = cboHandytyp.SelectedItem.ToString()
    152. End If
    153. '** HandySN **
    154. xml_HandySN.InnerText = txtHandySN.Text
    155. '* SIM-SN **
    156. xml_SIMSN.InnerText = txtSIMSN.Text
    157. '** Sim-Typ **
    158. If cboSIMTyp.SelectedIndex = -1 Then
    159. Else
    160. xml_SIMTyp.InnerText = cboSIMTyp.SelectedItem.ToString()
    161. End If
    162. '** SimPIN **
    163. xml_SIMPIN.InnerText = txtSIMPin.Text
    164. '** SimPUK **
    165. xml_SIMPUK.InnerText = txtSIMPUK.Text
    166. '** Notiz SIM **
    167. xml_NotizSIM.InnerText = txtNotizSIm.Text
    168. '** Tarif **
    169. xml_Tarif.InnerText = txtTarif.Text
    170. '** Mtl Kosten Netto **
    171. xml_mtlKostenNetto.InnerText = txtMtlKostenNetto.Text
    172. '** Mtl Kosten Brutto **
    173. xml_mtlKostenBrutto.InnerText = txtMtlKostenBrutto.Text
    174. '** Rahmenvertragsnummer **
    175. xml_RahmenvertragsNr.InnerText = txtRahmenvertragsnummer.Text
    176. '** Kundennummer **
    177. xml_KundenNr.InnerText = txtKundenNr.Text
    178. '** Kundenkonto **
    179. xml_kundenkonto.InnerText = txtKundenkonto.Text
    180. '**Vertragsbeginn **
    181. If dtpVertragsbeginn.Checked = True Then
    182. xml_Vertragsbeginn.InnerText = dtpVertragsbeginn.Value.ToShortDateString()
    183. Else
    184. End If
    185. '** Vertragsende **
    186. If dtpVertragsende.Checked = True Then
    187. xml_Vertragsende.InnerText = dtpVertragsende.Value.ToShortDateString()
    188. Else
    189. End If
    190. '** Kündigungsfrist **
    191. If dtpKuendigungsfrist.Checked = True Then
    192. xml_kuendigungsfristBis.InnerText = dtpKuendigungsfrist.Value.ToShortDateString()
    193. Else
    194. End If
    195. '** iPad von Domicil **
    196. xml_iPadVonDomicil.InnerText = ckbiPadVonDomicil.CheckState.ToString()
    197. '** iPad Seriennummer **
    198. xml_iPadSN.InnerText = txtiPadSN.Text
    199. '** PC-Typ **
    200. If cboPcTyp.SelectedIndex = -1 Then
    201. Else
    202. xml_PCTyp.InnerText = cboPcTyp.SelectedItem.ToString()
    203. End If
    204. '** PC Inventar Nr **
    205. xml_PCInventarNr.InnerText = txtPCInventarNr.Text
    206. '** Notebooktyp **
    207. If cboNotebooktyp.SelectedIndex = -1 Then
    208. Else
    209. xml_Notebooktyp.InnerText = cboNotebooktyp.SelectedItem.ToString()
    210. End If
    211. '** Notebook SN **
    212. xml_NotebookSN.InnerText = txtNotebookSN.Text
    213. '** Notebook Inventar Nr **
    214. xml_NotebookInventNr.InnerText = txtNotebookInventNr.Text
    215. '** Anzahl Externer Monitore **
    216. xml_AnzahlExtMonitore.InnerText = numAnzahlExtMonitore.Value.ToString()
    217. '** Dockingstation **
    218. xml_Dockingstation.InnerText = ckbDockingstation.CheckState.ToString()
    219. '** Headset **
    220. xml_Headset.InnerText = ckbHeadset.CheckState.ToString()
    221. '** Notiz PC**
    222. xml_NotizPC.InnerText = txtNotizPC.Text
    223. xml_Termin.Attributes.Append(xml_Vorname)
    224. xml_Termin.Attributes.Append(xml_Nachname)
    225. xml_Termin.Attributes.Append(xml_Handyeigentuemer)
    226. xml_Termin.Attributes.Append(xml_SIMEigentuemer)
    227. xml_Termin.Attributes.Append(xml_Vertragspartner)
    228. xml_Termin.Attributes.Append(xml_Rechnungsempfaenger)
    229. xml_Termin.Attributes.Append(xml_Handytyp)
    230. xml_Termin.Attributes.Append(xml_HandySN)
    231. xml_Termin.Attributes.Append(xml_SIMSN)
    232. xml_Termin.Attributes.Append(xml_SIMTyp)
    233. xml_Termin.Attributes.Append(xml_SIMPIN)
    234. xml_Termin.Attributes.Append(xml_SIMPUK)
    235. xml_Termin.Attributes.Append(xml_NotizSIM)
    236. xml_Termin.Attributes.Append(xml_Tarif)
    237. xml_Termin.Attributes.Append(xml_mtlKostenNetto)
    238. xml_Termin.Attributes.Append(xml_mtlKostenBrutto)
    239. xml_Termin.Attributes.Append(xml_RahmenvertragsNr)
    240. xml_Termin.Attributes.Append(xml_KundenNr)
    241. xml_Termin.Attributes.Append(xml_kundenkonto)
    242. xml_Termin.Attributes.Append(xml_Vertragsbeginn)
    243. xml_Termin.Attributes.Append(xml_Vertragsende)
    244. xml_Termin.Attributes.Append(xml_kuendigungsfristBis)
    245. xml_Termin.Attributes.Append(xml_iPadVonDomicil)
    246. xml_Termin.Attributes.Append(xml_iPadSN)
    247. xml_Termin.Attributes.Append(xml_PCTyp)
    248. xml_Termin.Attributes.Append(xml_PCInventarNr)
    249. xml_Termin.Attributes.Append(xml_Notebooktyp)
    250. xml_Termin.Attributes.Append(xml_NotebookSN)
    251. xml_Termin.Attributes.Append(xml_NotebookInventNr)
    252. xml_Termin.Attributes.Append(xml_AnzahlExtMonitore)
    253. xml_Termin.Attributes.Append(xml_Dockingstation)
    254. xml_Termin.Attributes.Append(xml_Headset)
    255. xml_Termin.Attributes.Append(xml_NotizPC)
    256. '** Speichern **
    257. xmldoc.DocumentElement.AppendChild(xml_Termin)
    258. xmldoc.Save(DateiPfad)
    259. '** Textfelder Leeren **
    260. txtName.Text = ""
    261. txtNachname.Text = ""
    262. cboHandyeigentuemer.SelectedIndex = -1
    263. cboSIMEigentuemer.SelectedIndex = -1
    264. txtVertragspartner.Text = ""
    265. cboRechnungsempfaenger.SelectedIndex = -1
    266. cboHandytyp.SelectedIndex = -1
    267. txtHandySN.Text = ""
    268. txtSIMSN.Text = ""
    269. cboSIMTyp.SelectedIndex = -1
    270. txtSIMPin.Text = ""
    271. txtSIMPUK.Text = ""
    272. txtNotizSIm.Text = ""
    273. txtTarif.Text = ""
    274. txtMtlKostenNetto.Text = ""
    275. txtMtlKostenBrutto.Text = ""
    276. txtRahmenvertragsnummer.Text = ""
    277. txtKundenNr.Text = ""
    278. txtKundenkonto.Text = ""
    279. dtpVertragsbeginn.Checked = False
    280. dtpVertragsende.Checked = False
    281. dtpKuendigungsfrist.Checked = False
    282. ckbiPadVonDomicil.Checked = False
    283. txtiPadSN.Text = ""
    284. cboPcTyp.SelectedIndex = -1
    285. txtPCInventarNr.Text = ""
    286. cboNotebooktyp.SelectedIndex = -1
    287. txtNotebookSN.Text = ""
    288. txtNotebookInventNr.Text = ""
    289. numAnzahlExtMonitore.Value = 0
    290. ckbDockingstation.Checked = False
    291. txtNotizPC.Text = ""
    292. cboSIMEigentuemer.SelectedIndex = -1
    293. ckbHeadset.Checked = False
    294. '_________________________________________________________________
    295. '** Handytyp Definieren **
    296. xml_Termin = xmldoc.CreateElement("Handytyp")
    297. '**Handytyp **
    298. Dim xml_HandytypHinzufuegen As XmlAttribute
    299. xml_HandytypHinzufuegen = xmldoc.CreateAttribute("Typ")
    300. '**Handytyp Speichern **
    301. xml_HandytypHinzufuegen.InnerText = txtHandyHinzufügen.Text
    302. xml_Termin.Attributes.Append(xml_HandytypHinzufuegen)
    303. '** Speichern **
    304. xmldoc.DocumentElement.AppendChild(xml_Termin)
    305. xmldoc.Save(DateiPfad)
    306. '_________________________________________________________________
    307. '** Simtyp Definieren **
    308. xml_Termin = xmldoc.CreateElement("Simtyp")
    309. '**Simtyp **
    310. Dim xml_SimtypHinzufuegen As XmlAttribute
    311. xml_SimtypHinzufuegen = xmldoc.CreateAttribute("Typ")
    312. '**Simtyp Speichern **
    313. xml_SimtypHinzufuegen.InnerText = txtSimtypHinzufuegen.Text
    314. xml_Termin.Attributes.Append(xml_SimtypHinzufuegen)
    315. '** Speichern **
    316. xmldoc.DocumentElement.AppendChild(xml_Termin)
    317. xmldoc.Save(DateiPfad)
    318. End Sub
    319. End Class


    Okay also das mit den doppelten Einträgen hab ich hinbekommen, mit

    VB.NET-Quellcode

    1. ​ HandyTypDataSet.Clear()


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Blackn0va“ ()