こんにちは、私はかなりVisual Studioに新しいです、私は私のプログラムに保存機能を追加するいくつかの問題を抱えています。基本的に私のプログラムは、ユーザーのイベントリマインダーを設定しています(毎日のプランナーのようですが、通知はありません)。私は、 "イベントを追加する"、 "削除"、および "プログラムで動作するようにボタンを更新して、今私が残したのは"保存 "と"ロード "キーです。私がやろうとしているのは、DataGridViewを保存して、後で「ロード」キーを使用してプログラムで開くことができるようにする方法です。イベントリマインダーアプリケーションに「負荷」を取り除き情報を保存する方が簡単な場合は、そのルートに進むことができますが、その方法を最初に考えているわけではありません。これは私がメインフォーム内のコードのために、今持っているものです。保存機能をDataGridViewに追加するにはどうすればよいですか?
パブリック・クラスMainForm1
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
If DataGridView1.Columns(e.ColumnIndex).Name = "Delete" AndAlso Me.DataGridView1.Rows(e.RowIndex).IsNewRow = False Then
Me.DataGridView1.EndEdit()
Me.DataGridView1.Rows.RemoveAt(e.RowIndex)
End If
If DataGridView1.Columns(e.ColumnIndex).Name = "Column4" AndAlso Me.DataGridView1.Rows(e.RowIndex).IsNewRow = False Then
Dim Update As UpdateWindow
Update = UpdateWindow
Update.Show()
End If
End Sub
Private Sub dltBtn_Click(sender As Object, e As EventArgs)
Dim dltBtn As dltWindow
dltBtn = dltWindow
dltBtn.Show()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Button1 As addBtn
Button1 = addBtn
Button1.Show()
End Sub
Private Sub UptBtn_Click(sender As Object, e As EventArgs)
Dim UptBtn As UpdateWindow
UptBtn = UpdateWindow
UptBtn.Show()
End Sub
Dim thisFilename As String = Application.StartupPath & "\Event reminder.dat"
Private Sub saveBtn_Click(sender As Object, e As EventArgs) Handles saveBtn.Click
Me.Validate()
Me.SaveGridData(DataGridView1, thisFilename)
End Sub
Private Sub BtnLoad_Click(sender As Object, e As EventArgs) Handles BtnLoad.Click
Me.LoadGridData(DataGridView1, thisFilename)
End Sub
Private Sub SaveGridData(ByRef ThisGrid As DataGridView, ByVal thisFilename As String)
ThisGrid.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText
ThisGrid.SelectAll()
IO.File.WriteAllText(thisFilename, ThisGrid.GetClipboardContent().GetText.TrimEnd)
ThisGrid.ClearSelection()
End Sub
Private Sub LoadGridData(ByRef ThisGrid As DataGridView, ByVal Filename As String)
ThisGrid.Rows.Clear()
For Each THisLine In My.Computer.FileSystem.ReadAllText(Filename).Split(Environment.NewLine)
ThisGrid.Rows.Add(Split(THisLine, " "))
Next
End Sub
エンドクラス
私は他のフォーラムに行って、これを行う方法について尋ねてきたし、彼らはすべて、データテーブルにデータグリッドビューをバインドすると言った。それが私が行かなければならない道だったら、どうすればいいのですか?誰かが私が試してみることができるいくつかの例やコードがあるなら、私は大いに感謝しています。
私はそれを保存しようとしましたが、それをロードしようとしましたが、日付列に水曜日を入れ、DataGridviewのイベント記述列に5月が入っていたので、 – R3DSTON3R
質問に投稿コードを使用している場合は、私が言ったように、 "保存"メソッドは "タブ"を使用してファイルを保存し、データの各列を区切り/区切ります。この "load"メソッドを使用してこのファイルを読み込もうとすると、セパレータ/区切り文字として "spaces"が使用されているため失敗します。したがって、2つの方法では各列に2つの異なる区切り記号/区切り文字が使用されるため、列は正しく一致しません。 "load"メソッドを変更し、空のファイルを使用して開始し、データを追加してからファイルを保存すると、loadメソッドが正しく動作します。 – JohnG