ListView的:項目始終可見

每當你增加新的項目ListView控件ListViewItems,這些都是如此眾多的控制不會有足夠的空間,在屏幕上顯示,添加一個垂直滾動條。 這是完美的,默認情況下,沒有新的項目加入的除外。

今天我要來說明如何解決這個小問題。

Visual Basic控件。錐淨ListView的給我們一系列令人印象深刻的性能配置,所以,往往是未知的。

我想說明一個簡單的例子。 為此,我們需要一種形式,一個ListView控件和一個按鈕。

listviewItemSiempreVisible001

最關心我們的屬性:

  • HideSelection:設置此為false,如果沒有ListView控件具有焦點時,我們繼續看看所選項目。
  • ListView1.FocusedItem.EnsureVisible()來強制所選項目要始終可見。

好了,現在如果代碼:

    小組將Form1_Load(0 System.Object的,BYVAL e由於發件人)把手MyBase.Load
         ListView1.HideSelection =假
         ListView1.FullRowSelect =真
         ListView1.MultiSelect = FALSE
     END SUB

    私人小組中button1_Click(0 System.Object的,BYVAL e由於發件人)把手Button1.Click
        靜態我作為整數= 0
         I + = 1
         ListView1.Items.Add(新的ListViewItem(“編號”&I))
         ListView1.Items(ListView1.Items.Count  -  1)。選擇=真
         ListView1.Items(ListView1.Items.Count  -  1)。聚焦= TRUE

         ListView1.FocusedItem.EnsureVisible()
     END SUB

運行它應該看起來像這個圖片顯示:

listviewItemSiempreVisible002

這一切,如果此信息,幫助你,請留下評論。

11“列表視圖:項目總是在上面”

  1. Bitacoras.com 說:

    信息Bitacoras.com ...

    在Bitacoras.com率:當你添加新項目ListView控件ListViewItems,而這些都是使眾多的控制不會有足夠的空間,在屏幕上顯示,添加一個垂直滾動條。 這是......

  2. MYSTIC說:

    我們都知道q顯示的數據,但我問:我有興趣,如果他們能夠解釋如何存儲在模塊中的鋸方案aunq

  3. RCHARD說:

    一個問題,我想相同,但舉例的DataGridView如果沒有,可以幫助ME IN這問題

    我的電子郵件:
    richardramos789@hotmail.com
    你將不勝感激,如果你幫我

  4. 豪爾赫說:

    你好等,

    看我有一個疑問與我的系統上實現一個ListView,我把POS系統,進入在我txtbox的成就在我的ListView打印的代碼正確,我的問題是,我想註冊時相同的產品,而不是增加一個新行被添加到它,並在數量列將增加數量。

    例如,如果我加12345,印在我的ListView,但如果我增加12345放在一個新行打印在連續印刷,但在列的金額增加至2,如果我不解釋或可以指導我在這個問題上,我有我將不勝感激。

    • 以利沙說:

      我沒有很清楚你想要做什麼,但我建議你看一下這個例子可能會有幫助: http://www.solovb.net/index.php/2009/02/19/modificar-datos- -A-的ListView /
      任何進一步的問題,不要猶豫與我聯繫。

      問候

    • 奧斯卡說:

      喬治,你問什麼涉及到數據的持久性和更新屬於2解決方案的排名表中的一個特定的關鍵一列,你可以選擇:首先創建一個領域,你需要的數據庫和使用與MySQL的連接使用適配器或SQL Server與Visual Studio中包含的,另一種是通過平面文件,保存在一個文件中的數據。TXT,然後進行一些數據的讀取和改寫,因為你需要增加列rewquerida的價值這兩個選項,你也應該適用於一個函數來增加這個值根據您需要的條件。 :)

  5. 豪爾赫說:

    以利沙非常感謝您的及時答复。

    OK看我會解釋。 我有一個TextBox添加在其中,我在我的數據庫產品,確定,例如,可口可樂,我在這種情況下,進入我的TextBox上的條形碼,將12345678,在我的ListView爭氣的產品說明,我的專欄ListView的是:

    產品編號,描述,數量,銷售價格,存在。

    然後添加我行的產品,是在我的ListView等數據,但如果我重新插入代碼的可口可樂,在顯示下一行,我喜歡做的事是,當你插入另一個一次只改變產品本身,而不是在一個新行,我列的數量,在這種情況下,交換,2。

    這是比第二我想要做的,如果我可以說或多或少地回答這個問題,我會很感激它。

    謝謝

    • 以利沙說:

      那麼,現在是一個小打火機。

      你之前插入一個新行的第一件事是交叉的ListView檢查您是否已經進入正試圖插入你的代碼。
      你做對每一筆,例如

      “我認為一個變量來指示是否我發現代碼已經存在
      昏暗的存在為Boolean = FALSE
      對於每個ListViewItem的項目listviewProductos.items
      然後,如果item.text = txtCodigo.text
      “如果你來這裡是因為它已經被載入
      cantidadAnterior昏暗如Integer = CType運算(item.subitm(2)。文本,整數)
      (2)item.subitem。cantidadAnterior +文本= CType運算(txtCantidad.text,整數)
      “如果你發現你注意到已經存在
      存在=真
      如果最後
      未來

      再就是如果不
      這裡沒有找到然後插入
      如果最後

      嗯,Espro服務...你不能排除,因為我寫了一個錯字Terner直接在這裡

      但你一定會服務

  6. 豪爾赫說:

    再次感謝,

    看到你,如果我在這個問題上工作的數量列的值改變,會發生什麼是我從我顯示一個MySQL數據庫中提取值的代碼看起來像打印我的ListView

    ListView的私人小組()
    昏暗,我作為整數
    昏暗的小號作為整數
    昏暗的罪名將作為整數
    由於雙小計點心
    昏暗的名單作為新的ListViewItem

    作為新MySqlCommand點心字符串(“select *從產品的ProductCode ='”&txtCodigoBarras.Text&“'”,CON)

    cadena.ExecuteReader mysqldr =()

    而mysqldr.Read()
    列表= listView1.Items.Add(txtCodigoBarras.Text.Trim)
    listar.SubItems.Add(CSTR(mysqldr(“說明”)))
    listar.SubItems.Add(CSTR(mysqldr(“數量”)))
    listar.SubItems.Add(CSTR(mysqldr(“PrecioVenta”)))
    listar.SubItems.Add(CSTR(mysqldr(“聯交所”)))
    結束時

    昏暗的存在為Boolean = FALSE

    對於每個ListViewItem的在ListView1.Items項目
    然後,如果item.Text = txtCodigoBarras.Text
    CantidadAnterior DIM(listar.SubItems(2)。文本,整數)作為整數= CType運算
    。文本listar.SubItems(2)= cantidadAnterior + CType運算(mysqldr(“數量”),整數)
    存在=真
    結束如果
    未來
    再就是如果不
    結束如果

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

    為S = 0.0,要ListView1.Items.Count - 1
    小計= SUBTOTAL ListView1.Items(S)。子項目(3)文本
    未來
    lbLSubTotal.Text =“$”與格式(小計,“0.00”)

    對於i = 0 ListView1.Items.Count - 1
    計數器=計數器+ ListView1.Items(一)子項目(2)。文本
    未來
    Me.lblContador.Text =計數器

    mysqldr.Close()
    END SUB

    所以,我花了代碼實施,並在下面的照片中看到的結果:

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

  7. 豪爾赫說:

    朋友哈哈,對不起,如果我不高興這麼多問題,但我發現或多或少的問題,例如產品介紹

    DORITOSNAC

    插在前排,當我把DORITOSNAC被印在第二排,但已經推出了第一款的變化,其值從數量到2印3行再次進入,但同樣的從1行改變其值3

    然後,如果txtCodigoBarras.Text = txtCodigoBarras.Text
    昏暗的存在為Boolean = FALSE
    對於每個ListViewItem的在ListView1.Items項目
    然後,如果item.Text = txtCodigoBarras.Text
    CantidadAnterior DIM(item.SubItems(2)。文本,整數)作為整數= CType運算
    item.SubItems(2)。文本= cantidadAnterior + CType運算(lblCantidadProd.Text,整數)
    存在=真
    結束如果
    未來
    再就是如果不
    結束如果

    讓我們來看看,如果我現在得到它,如果沒有任何解釋會很感激你的一部分。

  8. 豪爾赫說:

    已經取得了許多感謝您的支持,得到的解決方案解決:

    昏暗的罪名將作為整數
    對j = 0將作為整數Me.ListView1.Items.Count - 1
    ,如果Me.ListView1.Items(J)。子項目(0),然後點擊文本txtCodigoBarras.Text
    計數= CINT(Me.ListView1.Items(J)。子項目(2)。文本)+ 1
    Me.ListView1.Items(J)。子項目(2)。文本=計數
    退出小組

評論