ListView: Tuote aina näkyvissä

Aina ListViewItems uusia kohteita lisätään ListView ohjaus, ja ne ovat niin paljon, että ohjaus ei ole tarpeeksi tilaa näyttää ne ruudulla lisätä pystysuora vierityspalkki. Tämä on täydellinen, vain oletuksena ole, että uusia kohteita lisätään.

Tänään haluan näyttää, miten ratkaista tämä pieni ongelma.

Visual Basic-komponentit. Net kartio ListView meille vaikuttava joukko ominaisuuksia konfigurointiin, niin että usein ei tunneta.

Näytän yksinkertainen esimerkki. Tätä varten tarvitaan lomake, ListView ohjaus ja painiketta.

listviewItemSiempreVisible001

Ominaisuuksia, jotka kiinnostavat meitä ovat:

  • HideSelection: aseta se väärä niin, että vaikka ListView ohjaus ei ole keskittyä, jatkamme nähdä mitä valitun kohteen.
  • ListView1.FocusedItem.EnsureVisible () pakottaa valitun kohteen näkymään aina.

No, nyt jos koodi:

     Private Sub Form1_Load (ByVal lähettäjälle System.Object, ByVal e Kuten System.EventArgs) käsittelee MyBase.Load
         ListView1.HideSelection = False
         ListView1.FullRowSelect = True
         ListView1.MultiSelect = False
     End Sub

     Private Sub Button1_Click (ByVal lähettäjälle System.Object, ByVal e Kuten System.EventArgs) käsittelee Button1.Click
         Staattinen i As Integer = 0
         i + = 1
         ListView1.Items.Add (New ListViewItem ("Tuotenumero" & i))
         ListView1.Items (ListView1.Items.Count - 1). Selected = True
         ListView1.Items (ListView1.Items.Count - 1). Keskitetty = True

         ListView1.FocusedItem.EnsureVisible ()
     End Sub

Kun suoritat pitäisi näyttää hyvin samankaltainen kuin näkyy tämä kuva:

listviewItemSiempreVisible002

Siinä kaikki, jos tämä tieto auttanut sinua, jätä kommentti.

11 Responses to "ListView: Tuote aina päällimmäisenä"

  1. Bitacoras.com sanoo:

    Bitacoras.com Information ...

    Rate in Bitacoras.com: Aina ListViewItems uusia kohteita lisätään ListView ohjaus, ja ne ovat niin paljon, että ohjaus ei ole tarpeeksi tilaa näyttää ne ruudulla lisätä pystysuora vierityspalkki. Tämä on ... ..

  2. Mystinen sanoi:

    No me kaikki tiedämme q tietojen näyttämiseen, mutta minun q olen kiinnostunut, jos he voivat selittää, miten moduuli on tallennettu ohjelmaan sahataan aunq

  3. RCHARD sanoo:

    Esimerkiksi yksi Samana kysymys, mutta haluan tietää JOS DataGridView voisi auttaa tämän ongelman

    Oma sähköposti:
    richardramos789@hotmail.com
    SINÄ olisi kiitollinen, jos te auttaa minua

  4. Jorge sanoo:

    Hello niin,

    Katso Olen epäilystäkään kanssa ListView toteuttaa minun elimistö, esitän yhdessä kassajärjestelmän ja syöttämällä koodi minun txtbox saavutus minun ListView tulostu oikein, kysymykseni on, että haluan ilmoittautumisen samaa tuotetta, sijaan, että lisättäisiin uusi rivi lisätään se ja Määrä sarakkeessa myötä on yhä enemmän.

    Esimerkiksi jos voin lisätä 12345, on painettu minun ListView, mutta jos voin lisätä 12345 sijoittaa tulostaa rivi tulostetaan peräkkäin, mutta määrä nousee 2 sarake, jos en selitä tai voisivat ohjata minua tässä kysymyksessä, että olen olisin hyvin kiitollinen.

    • Elisa sanoo:

      ole kovin selvää, mitä he haluavat tehdä, mutta ehdotan Katso tätä esimerkkiä saatat olla hyödyllistä: http://www.solovb.net/index.php/2009/02/19/modificar-datos- of-a-ListView /
      Lisäkysymyksiä älä epäröi ottaa yhteyttä minuun.

      Terveisin

    • Oscar sanoo:

      Hei George, mitä pyydätte sisältää tiedot Pysyvyys ja päivittää sarakkeeseen kuuluva sijoitus tietyn avaimen taulukossa 2 ratkaisuja voit valita: Ensin tehdään TE kanssa kenttiä tarvitset ja käytä MySQL-yhteyden joko käyttämällä sitä tai sovitinta SQL Server Visual Studio, muu tapa on tasainen tallennettuja tiedoston tiedot. txt ja jatka lukemista ja kirjoittamista uudelleen Joidenkin tietojen , niin vaihtoehtoja kuin haluat lisätä arvon sarakkeesta rewquerida, sinun pitäisi myös käyttää toimintoa, joka kasvattaa tätä arvoa perustuu sen tarvitset. :)

  5. Jorge sanoo:

    Elisa kiitos paljon nopeasta vastauksestasi.

    Ok näyttää Selitän. Olen TextBox jossa voin lisätä tuotteita minulla on DB, ok esimerkiksi Coca-Cola, syötä viivakoodin minun TextBox tässä tapauksessa olisi 12345678, hyvä näyttää minun ListView tuotekuvauksen minun sarakkeet ListView ovat:

    Tuotekoodi, kuvaus, määrä, myyntihinta, olemassaolo.

    Lisää sitten tuote minun linja on täynnä tällaisia ​​tietoja minun ListView, mutta jos en pistä koodi Coca-Cola on esitetty seuraavalle riville, jonka haluan tehdä, on että kun asetat toisen Kun paikallaan saman tuotteen näkyvät uuden rivin juuri muuta määrää minun sarakkeen Määrä, tässä tapauksessa vaihtoon 2.

    Se on enemmän kuin haluan tehdä ND jos voisin sanoa enemmän tai vähemmän vastata tähän kysymykseen olisin kiitollinen.

    Kiitos

    • Elisa sanoo:

      No, nyt on hieman kevyempi.

      Ensimmäinen asia, et ennen kuin asetat uuden linja on ylittää ListView tarkistaa, jos olet jo syöttänyt koodin yrität lisätä.
      Että teet Kunkin esimerkiksi

      "Luulen muuttuja kertoa minulle, jos koodi ja todettiin, että oli
      Dim olemassa Boolean = False
      Kunkin alkion ListViewItem vuonna listviewProductos.items
      Sitten jos item.text = txtCodigo.text
      "Jos tulet tänne, koska se oli jo ladattu
      cantidadAnterior hämärä As Integer = CType (item.subitm (2). teksti, Integer)
      item.subitem (2). cantidadAnterior + teksti = CType (txtCantidad.text, Integer)
      "Jos huomaat löysit sen jo olemassa
      Ei = True
      end if
      Seuraava

      Jos ei sitten siellä
      "Here I työnnä se vaan löytyi
      End if

      No, Espro palvella sinua ... et voi sulkea pois typo Golde koska kirjoitin sen suoraan täältä

      Mutta se varmasti palvelee sinua

  6. Jorge sanoo:

    Kiitos vielä kerran,

    Katsokaa minua kommentoin, että jos lopputulos kyseessä on antanut muuttuviin arvo Määrä sarakkeen, mitä tapahtuu on että olen talteen arvot MySQL-tietokannan tarkastellaan koodi näytän sinulle, miten tulostan ListView

    ListView Private Sub ()
    Dim I As Integer
    Dim s As Integer
    Dim count As Integer
    Välisumma Dim kaksinkertainen
    Dim luettelossa New ListViewItem

    Kuten New MySqlCommand Dim merkkijono ("SELECT * FROM tuotteet WHERE Tuotteen = '" & txtCodigoBarras.Text & "'", con)

    cadena.ExecuteReader mysqldr = ()

    Vaikka mysqldr.Read ()
    list = listView1.Items.Add (txtCodigoBarras.Text.Trim)
    listar.SubItems.Add (CStr (mysqldr ("Kuvaus")))
    listar.SubItems.Add (CStr (mysqldr ("Määrä")))
    listar.SubItems.Add (CStr (mysqldr ("PrecioVenta")))
    listar.SubItems.Add (CStr (mysqldr ("Optio")))
    Loppuun Vaikka

    Dim olemassa Boolean = False

    Kunkin alkion ListViewItem In ListView1.Items
    Jos txtCodigoBarras.Text Sitten item.Text =
    CantidadAnterior Dim As Integer = CType (listar.SubItems (2). Teksti, kokonaisluku)
    listar.SubItems (2). cantidadAnterior + Text = CType (mysqldr ("Määrä"), Integer)
    Ei = True
    End If
    Seuraava
    Jos ei sitten siellä
    End If

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

    S = 0,0 ListView1.Items.Count - 1
    Välisumma = Välisumma + ListView1.Items (s). SubItems (3). Text
    Seuraava
    lbLSubTotal.Text = "$" & Format (Välisumma, "0.00")

    For i = 0 To ListView1.Items.Count - 1
    laskuri = laskuri + ListView1.Items (i). SubItems (2). Text
    Seuraava
    Me.lblContador.Text = counter

    mysqldr.Close ()
    End Sub

    Vietin koodia, joka toteuttaa sen hyvin ja nähdä tuloksia seuraava kuva:

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

  7. Jorge sanoo:

    Friend haha ​​pahoillani jos se häiritsee sinua niin paljon kysymyksiä, mutta olen löytää enemmän tai vähemmän ongelma, esitellä tuote esim.

    DORITOSNAC

    Lisätään eturivissä ja kun laitoin DORITOSNAC on painettu toisen rivin, mutta oli jo otettu käyttöön ensimmäiset muutokset arvonsa määrästä 2 ja palaamaan painetaan uudelleen 3 peräkkäin, mutta yhtä 1 krs muutokset arvoksi 3

    Jos txtCodigoBarras.Text Sitten txtCodigoBarras.Text =
    Dim olemassa Boolean = False
    Kunkin alkion ListViewItem In ListView1.Items
    Jos txtCodigoBarras.Text Sitten item.Text =
    CantidadAnterior Dim As Integer = CType (item.SubItems (2). Teksti, kokonaisluku)
    item.SubItems (2). cantidadAnterior + Text = CType (lblCantidadProd.Text, Integer)
    Ei = True
    End If
    Seuraava
    Jos ei sitten siellä
    End If

    Katsotaan jos saan sen nyt, jos ei mitään selitystä teidän tulevat olemaan kiitollisia.

  8. Jorge sanoo:

    jo ratkaisee paljon kiitoksia tukea saavat ratkaisu:

    Dim count As Integer
    J As Integer = 0 Me.ListView1.Items.Count - 1
    Jos Me.ListView1.Items (j). SubItems (0). TxtCodigoBarras.Text sitten Text =
    count = CInt (Me.ListView1.Items (j). SubItems (2). Text) + 1
    Me.ListView1.Items (j). SubItems (2). Text = count
    Exit Sub

Kommentti