načtení LISTVIEW   otázka

VB.NET, WinForms

Dobrý den, už si nevím rady, už nevím kudy, pořebuji Uložit a Načíst data z listview.

Ukladani mam do txt a funguje:

mam to nastavené na BUTTON

Dim soubor As New IO.StreamWriter("C:\\database.txt") 'otevřít soubor

For i As Integer = 0 To ListView1.Items.Count - 1 'projít všechny položky seznamu

soubor.WriteLine(ListView1.Items(i).SubItems(0).Text) 'zapsat datum

soubor.WriteLine(ListView1.Items(i).SubItems(1).Text) 'zapsat částku

soubor.WriteLine(ListView1.Items(i).SubItems(2).Text) 'zapsat popis

Next

soubor.Close()

a nevím jak to načíst zpět.

Kdo vím.. aˇmi odpoví.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Říkám si, proč to ukládáš do souboru. Ale budiš, třeba Ti to pomůže. Jen na konci nevím, jak se binduje ListView, protože jsem v životě nepoužíval komponenty od Microsoftu, ale jen od DevExpressu, takže mi ListView moc neříká. Někam si dej ten Class a pokud používáš něco jiného jak string, tak si to změň.


Using soubor As StreamWriter = New StreamWriter("C:\database.txt", True)
	
	soubor.WriteLine("Datum;Částka;Popis")
	
	For i As Integer = 0 To ListView1.Items.Count - 1

	soubor.WriteLine(ListView1.Items(i).SubItem(0).Text & ";" & ListView1.Items(i).SubItem(1).Text & ";" & ListView1.Items(i).SubItem(2).Text)

Next

End Using


Dim nacistSoubor = From r In File.ReadAllLines("C:\database.txt") 'cesta k souboru
                                      Skip 1
                                      Let cast  = r.Split(";")
                                      Select Datum = cast(0), Castka = cast(1), Popis = cast(2)


Dim data As New List(Of Data)


For Each radek in nacistSoubor

	data.Add(New Data(radek.Datum, radek.Castka, radek.Popis)

Next

ListView1.DataSource = data
ListView1.DataBind()


Public Class Data

    Private _datum As String
    Private _castka As String
    Private _popis As String

    Sub New(ByVal datum As String, ByVal castka As String, ByVal popis as String)        
	_datum = datum
        _castka = castka
	_popis = popis
    End Sub

    Public Property Datum() As String
        Get
            Return _datum 
        End Get
        Set(ByVal value As String)
            _datum = value
        End Set
    End Property

    Public Property Castka() As String
        Get
            Return _castka 
        End Get
        Set(ByVal value As String)
            _castka = value
        End Set
    End Property

Public Property Popis() As String
        Get
            Return _popis 
        End Get
        Set(ByVal value As String)
            _popis = value
        End Set
    End Property

End Class

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud nepoužíváte velké množství dat,využijte XML formmát. Vhodný pro svoji strukturu,možnost lepšího vyhledávání,sortování a obecně práce s dokumentem.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já vím, že to není úplně odpověď na původní dotaz, ale

1) Použil bych serializaci a serializable,

2) Namísto ListView bych dal DataGridView

ono by se to celé zpřehlednilo ;-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuju, že jsi mi odepsal na toto téma , ale já jsem začátečník a moc ten zdrojak nechapu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback