Nimekirjavaatele: Punkt alati nähtav

Kui teil lisada uusi objekte nimekirjavaatele kontrolli ListViewItems ja neid on nii palju, et kontrolli ei ole piisavalt ruumi, et kuvada neid ekraanile, lisades vertikaalse kerimisriba. See on täiuslik, va et vaikimisi ei ole, et uued punktid.

Täna ma tahan näidata, kuidas lahendada see väike probleem.

Visual Basic kontrolli. Koonus net nimekirjavaatele meile muljetavaldav hulk omadusi konfiguratsiooni nii, et sageli ei ole teada.

Tahan näidata lihtsa näite. Selleks vajame vormi nimekirjavaatele kontroll ja nuppu.

listviewItemSiempreVisible001

Omadused, mis kõige rohkem huvitavad meid on:

  • HideSelection: seadmine seda väär, kui ei nimekirjavaatele kontroll on keskenduda, me jätkuvalt näha, millised valitud objekt.
  • ListView1.FocusedItem.EnsureVisible () sundida valitud objekt olema alati nähtav.

Noh, nüüd, kui kood:

     Private Sub Form1_Load (ByVal saatja Nagu System.Object, ByVal E System) käepidemed MyBase.Load
         ListView1.HideSelection = False
         ListView1.FullRowSelect = True
         ListView1.MultiSelect = False
     End Sub

     Private Sub Button1_Click (ByVal saatja Nagu System.Object, ByVal E System) käepidemed Button1.Click
         Static i As Integer = 0
         i + = 1
         ListView1.Items.Add (New ListViewItem ("Kauba number" & i))
         ListView1.Items (ListView1.Items.Count - 1). Valitud = True
         ListView1.Items (ListView1.Items.Count - 1). Sihipärane = True

         ListView1.FocusedItem.EnsureVisible ()
     End Sub

Töötab see peaks välja nägema umbes nagu, mida kuvatakse see pilt:

listviewItemSiempreVisible002

See on kõik, kui see teave aidanud, siis palun jäta kommentaar.

11 Responses to "nimekirjavaatele: Punkt alati peal"

  1. Bitacoras.com ütleb:

    Informatsioon Bitacoras.com ...

    Määr Bitacoras.com: Kui sa elemente lisada nimekirjavaatele kontrolli ListViewItems ja neid on nii palju, et kontrolli ei ole piisavalt ruumi, et kuvada neid ekraanile, lisades vertikaalse kerimisriba. See on .....

  2. MYSTIC ütles:

    Noh me kõik teame, q andmete kuvamiseks, kuid ma q ma olen huvitatud, kas nad saavad selgitada, kuidas salvestatakse mooduli saagimine programmi aunq

  3. RCHARD ütleb:

    KÜSIMUS Ma tahan, et sama, kuid näiteks DataGridView Kui ei võiks mind aidata Head lugejad

    MINU EMAIL:
    richardramos789@hotmail.com
    Sa oleks tänulik kui mind aidata

  4. Jorge ütleb:

    Tere selline,

    Vaata mul on kahtlus koos nimekirjavaatele rakendada minu süsteemi, ma koondades POS süsteem ja sisestage kood minu txtbox saavutus minu nimekirjavaatele prindi korrektselt, minu küsimus on, et ma tahan registreerimisel sama toote mitte lisada uus rida lisatakse see ja kogus veeru arvu suurendada.

    Näiteks kui lisan 12345, trükitakse mu nimekirjavaatele, aga kui lisan 12345 paigutada printida uus rida trükitakse järjest, kuid veerus summa suureneb 2, mitte kui ma selgitada või võiks suunata mind selles küsimuses, et mul on Oleksin väga tänulik.

    • Eliisa ütles:

      Mul ei ole väga selge, mida sa teha tahad, aga pakun, et te vaatate see näide võib olla kasulik: http://www.solovb.net/index.php/2009/02/19/modificar-datos- of-a-nimekirjavaatele /
      Lisaküsimusi ärge kartke minuga.

      Regards

    • Oscar ütleb:

      Tere George, mida sa küsida hõlmab andmed püsivuse ja värskendada veerg kuuluvad auaste konkreetse võti tabelis 2 lahendusi saab valida: 1. loote DB valdkondades, mida vaja ja kasutada ühendus kas MySQL kasutades adapter seda või SQL Server on kaasas Visual Studio, teine ​​võimalus on läbi korter faile salvestada andmeid faili. txt ja siis edasi lugedes ja ümberkirjutamise mõned andmed , nii võimalusi kui vaja suurendada väärtust tulbas rewquerida, siis peaks ka funktsiooni suurendada selle väärtuse põhjal tingimusel vajate. :)

  5. Jorge ütleb:

    Elisha tänan teid väga teie kiiret vastust.

    Ok vaata ma seletan. Mul on tekstikasti, mis lisavad toodete mul minu DB, ok näiteks Coca-cola, ma sisestan triipkood minu tekstikasti Sellisel juhul oleks 12345678, hea näidatakse minu nimekirjavaatele tootekirjeldusele minu kolonnid nimekirjavaatele on:

    Tootekood, kirjeldus, kogus, müügihind, olemasolu.

    Seejärel lisage toode minu rida on täis selliseid andmeid oma nimekirjavaatele, kuid kui ma uuesti sisestada kood coca-cola, kuvatakse järgmine rida, mis mulle meeldib teha, on, et kui sisestate teisele kui toode ise, mitte uue rea, lihtsalt muutke oma veerus Kogus, sel juhul vahetada 2-ga.

    See on rohkem kui nd ma tahan teha, kui ma saaks öelda enam-vähem sellele küsimusele vastata ma hindan seda.

    Tänan

    • Eliisa ütles:

      Noh, nüüd on natuke kergem.

      Esimene asi, mida ma enne lisada uus rida ületada nimekirjavaatele et vaadata, kas olete juba sisestanud koodi sa üritad lisada.
      Mida te teete iga, näiteks

      "Ma arvan, muutuja näitab, kas ma leidsin kood juba olemas
      Dim eksisteerib Boole'i ​​= False
      Iga kaubaartikli kui ListViewItem sisse listviewProductos.items
      Siis kui item.text = txtCodigo.text
      "Kui sa tuled siin on, sest see oli juba laaditud
      cantidadAnterior päevasõidutulede nagu Integer = CType (item.subitm (2). teksti Integer)
      item.subitem (2). cantidadAnterior + text = CType (txtCantidad.text, Integer)
      "Kui leiate te märkate, et juba olemas
      olemas = True
      lõpuks, kui
      Järgmine

      Kui ei, siis seal
      "Siin ei leita siis sisesta
      End kui

      Noh, Espro olla ... sa ei saa välistada kirjaviga Terner sest ma kirjutasin selle otse siin

      Aga kindlasti te tahate teenida

  6. Jorge ütleb:

    Tänan,

    Näeme märkis, et kui olin töötanud selles küsimuses muutes väärtus Kogus veergu, mis juhtub, on mul kaevandavad väärtused MySQL andmebaas ma näitan välja näeb koodi trükkida minu nimekirjavaatele

    Nimekirjavaatele Private Sub ()
    Dim i As Integer
    Dim s As Integer
    Dim arv As Integer
    Vahesumma Dim kahekordseks
    Dim nimekirja New ListViewItem

    Nagu New MySqlCommand Dim string ("SELECT * FROM tooteid, kus TooteKood = '" & txtCodigoBarras.Text & "'", con)

    cadena.ExecuteReader mysqldr = ()

    Kuigi mysqldr.Read ()
    list = listView1.Items.Add (txtCodigoBarras.Text.Trim)
    listar.SubItems.Add (CStr (mysqldr ("Kirjeldus")))
    listar.SubItems.Add (CStr (mysqldr ("Kogus")))
    listar.SubItems.Add (CStr (mysqldr ("PrecioVenta")))
    listar.SubItems.Add (CStr (mysqldr ("Stock")))
    End Kui

    Dim eksisteerib Boole'i ​​= False

    Iga kirje Nagu ListViewItem In ListView1.Items
    Siis kui item.Text = txtCodigoBarras.Text
    CantidadAnterior Dim As Integer = CType (listar.SubItems. (2) Tekst, Integer)
    listar.SubItems. (2) tekst = cantidadAnterior + CType (mysqldr ("Kogus"), Integer)
    olemas = True
    End Kui
    Järgmine
    Kui ei, siis seal
    End Kui

    lblCantidadProd.Text = mysqldr.Item (3)
    lblPrecioUnidad.Text = mysqldr.Item (5)

    S = 0,0 kuni ListView1.Items.Count - 1
    Vahesumma = Vahesumma + ListView1.Items (s). Alapunktides (3). Tekst
    Järgmine
    lbLSubTotal.Text = "$" & Format (Vahesumma, "0,00")

    I = 0 To ListView1.Items.Count - 1
    counter = counter + ListView1.Items (i). alapunktides (2). Tekst
    Järgmine
    Me.lblContador.Text = counter

    mysqldr.Close ()
    End Sub

    Kood, veetsin nii rakendamiseks ja tulemuste vaatamiseks järgmistes foto:

    http://img193.imageshack.us/img193/4421/productosv.jpg~~V

  7. Jorge ütleb:

    Sõber haha ​​sorry kui ma ärritunud nii palju küsimusi, aga ma leida enam-vähem probleemi, näiteks tutvustada toote

    DORITOSNAC

    Lisatakse esimeses reas ja kui panin DORITOSNAC trükitakse teises reas, aga juba kasutusele 1. muudab oma väärtust kogus 2 ja trükitakse uuesti siseneda uuesti 3 rida, kuid sama alates 1 rida muudab oma väärtust 3

    Siis kui txtCodigoBarras.Text = txtCodigoBarras.Text
    Dim eksisteerib Boole'i ​​= False
    Iga kirje Nagu ListViewItem In ListView1.Items
    Siis kui item.Text = txtCodigoBarras.Text
    CantidadAnterior Dim As Integer = CType (item.SubItems. (2) Tekst, Integer)
    item.SubItems. (2) tekst = cantidadAnterior + CType (lblCantidadProd.Text, Integer)
    olemas = True
    End Kui
    Järgmine
    Kui ei, siis seal
    End Kui

    Vaatame, kas ma saan seda nüüd, kui mitte mingeid selgitusi oma osa on tänulikud.

  8. Jorge ütleb:

    juba saavutatud lahendada palju tänu teie toetuse eest saada lahenduse:

    Dim arv As Integer
    J As Integer = 0 To Me.ListView1.Items.Count - 1
    Kui Me.ListView1.Items (j). Alapunktides (0). Siis Text = txtCodigoBarras.Text
    count = Cint (Me.ListView1.Items (j). alapunktides (2). tekst) + 1
    Me.ListView1.Items (j). Alapunktides (2). Text = count
    Exit Sub

Kommentaar