Hallo, Deinen Ansatz ist schon richtig. Das DataSet ist ja vielmehr ein Container, um Daten-Tabellen zu verwalten. Und ein DataSet beschreibt man nicht direkt, sondern die Werte werden in eine Tabelle in Deinem DataSet geschrieben. Das ganze erfolgt dann so:
DataSet.Tables("Name der Tabelle").Rows(Zeilennr).Item("Name der Spalte") = "Text"
Ich glaube, Du brauchst aber nur eine einzige Tabelle und kannst damit auf ein DataSet verzichten.
Nehmen wir mal an, Du verwaltest Deine Clipboard-Einträge in einer 2-spaltigen Tabelle: Spalte 1 nenne ich mal "Titel" und Spalte 2 "Inhalt". Das folgende Beispiel veranschaulicht, wie man eine DataTable erstellt, diese speichert und wieder ladet (auf ein DataSet wird verzichtet, da es nur um eine Tabelle geht):
Platziere dazu auf einer Form 3 Button (mit Namen "Speichern", "Laden" und "CreateSampleData") und ein DataGridView.
Imports System.IO
Public Class Form1
Dim path As String = "c:\test.txt"
Dim dt As New DataTable("Clipboard-Tabelle")
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim col1 As New DataColumn("Titel", GetType(String))
Dim col2 As New DataColumn("Inhalt", GetType(String))
dt.Columns.Add(col1)
dt.Columns.Add(col2)
DataGridView1.DataSource = dt
End Sub
Private Sub Speichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Speichern.Click
Dim str As New StreamWriter(path)
dt.WriteXml(str)
str.Close()
End Sub
Private Sub Laden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Laden.Click
Dim str As New StreamReader(path)
dt.ReadXml(str)
str.Close()
End Sub
Private Sub CreateSampleData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CreateSampleData.Click
Dim row As DataRow
row = dt.NewRow
row(0) = "Titel1"
row(1) = "Das ist der text zu Titel 1"
dt.Rows.Add(row)
row = dt.NewRow
row(0) = "Titel2"
row(1) = "Das ist der text zu Titel 2"
dt.Rows.Add(row)
row = dt.NewRow
row(0) = "Ein anderer Titel"
row(1) = "Hier steht wieder Text"
dt.Rows.Add(row)
row = dt.NewRow
row(0) = "Zahlen"
row(1) = "123 4571 474 521"
dt.Rows.Add(row)
row = dt.NewRow
row(0) = "Quatsch"
row(1) = "Wer das liest ist doof!"
dt.Rows.Add(row)
End Sub
End Class
Zur Erklärung:
In path ist Name und Pfad zu Deiner Datei angegeben.
dt ist die Variable für die Tabelle "Clipboard-Tabelle".
In Form1_Load erfolgt einfach die Zuordnung der Spalten und die Bindung an das DataGridView.
Speichern-Click öffnet einen StreamWriter und schreibt den Inhalt der Tabelle in die Datei path. Bei Laden-Click gehts umgekehrt.
CreateSampleData-Click dient nur zum Füllen der Tabelle mit ein paar Beispieldaten.
Das ganze sieht dann aus wie in den Bildern unten.
Um jetzt z.B. den Text in der Zelle "Wer das liest ist doof!" zu ändern, kannst Du ganz einfach schreiben:
dt.Rows(4).Item(1) = "Wer das liest ist schlau!"
Hoffe, es hilft Dir etwas weiter.