Kdykoliv se ListViewItems přidávají nové položky do ovládací prvek ListView, a ty jsou tak četné, že kontrola nemá dostatek prostoru pro jejich zobrazení na obrazovce, přidejte svislý posuvník. To je perfektní, jen ve výchozím nastavení, které nové položky.
Dnes vám chci ukázat, jak vyřešit tento malý problém.
Visual Basic ovládací prvky. Net kužel ListView nám ohromným množstvím užitečných vlastností pro konfiguraci, takže často není znám.
Ukážu jednoduchý příklad. K tomu potřebujeme formulář, ovládací prvek ListView a tlačítko.
Vlastnosti, které nás zajímají, jsou:
No, teď v případě, že kód:
Private Sub Form1_Load (ByVal odesílatel jako System.Object, ByVal e jako System.EventArgs) Madla MyBase.Load
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.MultiSelect = False
End Sub
Private Sub Button1_Click (ByVal odesílatel jako System.Object, ByVal e jako System.EventArgs) Madla Button1.Click
Statické i As Integer = 0
i + = 1
ListView1.Items.Add (New ListViewItem ("Pořadové číslo položky" & i))
ListView1.Items (ListView1.Items.Count - 1). Vybraný = True
ListView1.Items (ListView1.Items.Count - 1). Zaostřeno = True
ListView1.FocusedItem.EnsureVisible ()
End Sub
Po spuštění by měla vypadat velmi podobně, která je uvedena v tomto obrázku:
To je vše, pokud tyto informace vám pomohl, prosím, napsat komentář.
Bitacoras.com informace ...
Míra Bitacoras.com: Pokud jsou ListViewItems přidávají nové položky do ovládací prvek ListView, a ty jsou tak četné, že kontrola nemá dostatek prostoru pro jejich zobrazení na obrazovce, přidejte svislý posuvník. To je ... ..
No všichni víme, q pro zobrazení dat, ale moje q mě zajímá, pokud mohou vysvětlit, jak je modul uložen v programu jsou řezané aunq
Například jeden stejnou otázku, ale já chci vědět, jestli DataGridView by mohlo pomoci v tomto problému
Můj e-
richardramos789@hotmail.com
Ty by se Vám vděčný, kdybyste HELP ME
Dobrý den, takové,
Podívejte se mám pochybnost ListView realizovat v mém systému, jsem dávat dohromady systém, POS a zadání kódu na mé txtbox úspěchu ve své tiskové ListView správně, moje otázka je, že chci nahrávat, když na stejný výrobek, spíše než přidání nového řádek, který zní, a ve sloupci Množství zvýší počet.
Například, pokud přidám 12345, je vytištěn v mém ListView, ale když přidám 12345 umístit tisk na nový řádek je vytištěn v řadě, ale tato částka se zvyšuje na sloupci 2, pokud jsem se vysvětlit, nebo by mohl vést mě v této otázce, že jsem si já bych ocenil.
není mi jasné, co chtějí dělat, ale doporučuji vám podívat se na tento příklad vám mohou být užitečné: http://www.solovb.net/index.php/2009/02/19/modificar-datos- za-ListView /
Jakékoli další otázky, neváhejte mě kontaktovat.
S pozdravem
Ahoj Georgi, co žádáte zahrnuje datové persistence a aktualizaci sloupce, které patří k řadě specifických klíče v tabulce 2 řešení si můžete vybrat: nejprve vytvoříte DB s poli, které potřebujete, a použití MySQL připojení buď pomocí adaptéru, nebo součástí SQL Server Visual Studio, na druhou stranu je prostřednictvím textových souborů uložených v datovém souboru. txt a pak pokračujte ve čtení a přepisování některých údajů Pro obě možnosti je třeba zvýšit hodnotu pro sloupec rewquerida, měli byste také použít funkci, která tuto hodnotu zvýšit na základě podmínek, které potřebujete.
Elizeus moc děkuji za rychlou odpověď.
Ok vypadat já ti to vysvětlím. Mám textové pole, ve kterém jsem přidat produkty mám v DB, ok například Coca-Cola, zadejte čárový kód na své textové pole v tomto případě by bylo 12345678, dobré představení v mém ListView popisu výrobku svým sloupci ListView jsou:
Kód produktu, popis, množství, prodejní ceny, Existence.
Poté přidejte přípravek na mé linie je plný takových údajů ve svém ListView, ale když jsem znovu vložte kód Coca-Cola, je uveden v následující řadě, kterou jsem chtěl udělat, je, že při vložení jiného Jakmile na místě stejného výrobku zobrazí v novém řádku, stačí změnit počet kusů můj sloupek, v tomto případě výměny až 2.
To je víc, než chci udělat nd, jestli bych mohl říct, víceméně odpověď na tuto otázku bych si toho vážím.
Díky
No, teď je o něco lehčí.
První věc, kterou si před vložením nového řádku je přes ListView zkontrolovat, zda jste již zadali kód, který se pokoušíte vložit.
Že si s pro každého, například
"Myslím, že proměnné, aby mi v případě, že kód a zjistil, že tam byl
Dim existuje jako Boolean = False
Pro každou položku ListViewItem v listviewProductos.items
Pak-li item.text = txtCodigo.text
"Pokud jste sem přišel proto, že byl již načten
cantidadAnterior dim As Integer = CType (item.subitm (2). text, celé číslo)
item.subitem (2). cantidadAnterior + text = CType (txtCantidad.text, Integer)
"Když si všimnete, že našel to už existovalo
Tam = True
End If
Další
Pokud ne, tak tam
"Tady jsem ale zjistil, vložte
End If
No, Espro sloužit ... nemůžete vyloučit překlep Golde, co jsem napsal přímo zde
Ale určitě bude sloužit
Ještě jednou díky,
Podívej se na mě poznamenal, že v případě, že výsledek v otázce dal ke změně hodnoty množství sloupců, co se stane je, že jsem získávání hodnoty z databáze MySQL se dívá na kód, který jsem vám ukázat, jak tisknout mé ListView
ListView Private Sub ()
Dim i As Integer
Dim s As Integer
Dim se počítají jako Integer
Mezisoučet As Double Dim
Dim seznam As New ListViewItem
As New MySqlCommand řetězec Dim ("SELECT * FROM produktů Pokud ProductCode = '" & txtCodigoBarras.Text & "'", kon)
cadena.ExecuteReader mysqldr = ()
Zatímco mysqldr.Read ()
list = listView1.Items.Add (txtCodigoBarras.Text.Trim)
listar.SubItems.Add (CStr (mysqldr ("popis")))
listar.SubItems.Add (CStr (mysqldr ("Množství")))
listar.SubItems.Add (CStr (mysqldr ("PrecioVenta")))
listar.SubItems.Add (CStr (mysqldr ("akcie")))
Zatímco konec
Dim existuje jako Boolean = False
Pro každou položku ListViewItem V ListView1.Items
Pokud se pak txtCodigoBarras.Text item.Text =
CantidadAnterior As Integer Dim = CType (listar.SubItems (2). Text, Integer)
listar.SubItems (2). cantidadAnterior + Text = CType (mysqldr ("Množství"), Integer)
Tam = True
End If
Další
Pokud ne, tak tam
End If
lblCantidadProd.Text = mysqldr.Item (3)
lblPrecioUnidad.Text = mysqldr.Item (5)
Pro s = 0,0 až ListView1.Items.Count - 1
Mezisoučet = Mezisoučet + ListView1.Items (s). Podpoložky (3). Text
Další
lbLSubTotal.Text = "$" & Format (mezisoučet, "0.00")
Pro i = 0 To ListView1.Items.Count - 1
Counter = pult + ListView1.Items (i). podpoložky (2). Text
Další
Me.lblContador.Text = čítač
mysqldr.Close ()
End Sub
Strávil jsem kód, který implementuje dobře a vidět výsledky v následující fotografie:
http://img193.imageshack.us/img193/4421/productosv.jpg
Haha přítel se omlouvám, jestli to vadí tolik otázek, ale já jsem najít více či méně problémů, zavedení výrobku, např.
DORITOSNAC
Je vložen v první řadě, a když jsem dal DORITOSNAC je vytištěna na druhé řady, ale už představil první změní, od kvantity ke 2 a vstoupit znovu je vytištěna opět v 3 řadě, ale stejně 1 řádek změní hodnotu na 3
Pokud se pak txtCodigoBarras.Text txtCodigoBarras.Text =
Dim existuje jako Boolean = False
Pro každou položku ListViewItem V ListView1.Items
Pokud se pak txtCodigoBarras.Text item.Text =
CantidadAnterior As Integer Dim = CType (item.SubItems (2). Text, Integer)
item.SubItems (2). cantidadAnterior + Text = CType (lblCantidadProd.Text, Integer)
Tam = True
End If
Další
Pokud ne, tak tam
End If
Uvidíme, jestli jsem si to teď, ne-li žádné vysvětlení z vaší strany bude vděčný.
již řeší mnoho Díky za podporu získat řešení:
Dim se počítají jako Integer
Pro j As Integer = 0 To Me.ListView1.Items.Count - 1
Pokud se Me.ListView1.Items (j). Podpoložky (0). TxtCodigoBarras.Text Poté Text =
count = CInt (Me.ListView1.Items (j). podpoložky (2). textu) + 1
Me.ListView1.Items (j). Podpoložky (2). Text = počet
Exit Sub