0

私は現在、自分で管理アプリケーションを作成しようとしています。私は、ListViewを介してテキストドキュメントを読み書きする方法について多くのことを読んでいます。これまでテキストファイルにデータを書き込むことはできましたが、そのデータを変更できるようにしたいと考えています。たとえば、次を表示するListViewがあります。

オブジェクト=リンゴ-数量=5

そして、まったく新しいアイテムを追加する代わりに、リンゴを1つ増やしたいと思います。これを行う理由は、別のフォームから(同じアプリケーション内で)同じデータを呼び出すことができるようにするためです。私の最初のListViewにリンゴとリンゴの数が表示されているように、別のオプションフォームを使用してその数を変更することができます。XMLについて聞いたことはありますが、XMLでIO.streamを使用する方法(または特定のアイテムを編集するためにIO.streamを整理する方法)がわかりません。

何かアイデアやガイダンスはありますか?私は完全に困惑しています。

編集:おそらく配列のいくつかの使用?わからない..

4

1 に答える 1

0

まず、フォームに DataGridView を追加する必要があります。次に、何か名前を付けます。この例では、私のものは dgvInvoice です。フォームにコントロールを配置したら、その DataGridView に列を追加する必要があります。これを行うには、コントロールをクリックし、右上にある黒い再生ボタンをクリックして、[列を追加] などをクリックします。画面の右側に列を追加するときは、必ずデザイン名を付けてください。これはあなたのコラムへの参照です。これが完了したら、XML への保存を開始できます...

ここにあなたが始めるための小さなサンプルがあります...

最初に、必要な場所に空の XML ファイルを作成します...空の XML ファイルだけをファイルに含める必要はありません。次に、以下に従ってください...

 Imports System.IO
 Imports System.Xml
 Imports System.Text

 Public filePath As String = "PUT YOUR PATH TO XML HERE" - 'YOUR FILE PATH TO YOUR XML FILE GOES HERE'

 Private Sub btnSaveGrid_Click(sender As System.Object, e As System.EventArgs) Handles btnSaveGrid.Click
      CompileGrid() 'Using another sub to actually do the saving...
 End Sub

 ***************************************************************************

次のサブ....

 Private Sub CompileGrid()

    'Get the XML from the table!'
    Dim dt As New DataTable("invoices") 'YOU CAN ADD WHATEVER NAME YOU WANT HERE'

    'THIS WILL ADD YOUR COLUMN NAMES TO THE TABLE'

    For i As Integer = 0 To dgvInvoice.ColumnCount - 1
        dt.Columns.Add(dgvInvoice.Columns(i).Name, GetType(System.String))
    Next

    'THIS WILL ADD YOUR ROWS DATA TO THE TABLE'        

    Dim myrow As DataRow
    Dim icols As Integer = dgvInvoice.Columns.Count
    For Each drow As DataGridViewRow In Me.dgvInvoice.Rows
        myrow = dt.NewRow()
        For i As Integer = 0 To icols - 1
            myrow(i) = drow.Cells(i).Value
        Next
        dt.Rows.Add(myrow)
    Next

    'NEXT LETS WRITE THE DATA TO AN XML FILE'

    dt.WriteXml(filePath)


End Sub

そのファイルをメモ帳などで開くと、このファイルにデータが表示されます。これを変更するたびに自動的に上書きできるため、これを変更しないでください。

于 2013-02-10T05:22:24.250 に答える