Listview : 항목 항상 표시

당신이 ListView 컨트롤의 ListViewItems에 새 항목을 추가하고, 이들은 수직 스크롤 막대를 추가, 컨트롤이 화면에 표시하기 위해 충분한 공간을 가지고 있지 않도록 여러 가지 있습니다 때마다. 이것은 기본적으로 새 항목이 추가됩니다되지 않는지 제외하고는 완벽합니다.

오늘은이 작은 문제를 해결하는 방법을 게재하고 싶습니다.

Visual Basic 컨트롤. 원추 NET listview가 구성에 대해 우리에게 속성의 인상적인 배열을주고, 종종 알 수없는 그런가요.

나는 간단한 예를 보여주고 싶습니다. 그 점에서 우리는 양식, ListView 컨트롤과 버튼이 필요합니다.

listviewItemSiempreVisible001

속성은 대부분의 관심을 우리는 다음과 같습니다

  • HideSelection : 더 ListView 컨트롤이 포커스가없는 경우 false로 이것을 설정하면, 우리는 뭘 선택한 항목을 볼 것을 계속한다.
  • ListView1.FocusedItem.EnsureVisible ()는 선택한 항목이 항상 표시하도록 강요합니다.

자, 이제 코드는 경우 :

     비공개 하위 Form1_Load (System.EventArgs으로 System.Object, ByVal 이메일로 ByVal 보낸 사람) 핸들 MyBase.Load
         ListView1.HideSelection = False로
         ListView1.FullRowSelect = true를
         ListView1.MultiSelect = False로
     최종 하위

     비공개 하위 Button1_Click (System.EventArgs으로 System.Object, ByVal 이메일로 ByVal 보낸 사람) 핸들 Button1.Click
         정적 내가로서 정수 = 0
         I + = 1
         ListView1.Items.Add (새 ListViewItem ( "품목 번호"& I))
         ListView1.Items (ListView1.Items.Count - 1). 선택 = TRUE
         ListView1.Items (ListView1.Items.Count - 1). 집중 = TRUE

         ListView1.FocusedItem.EnsureVisible ()
     최종 하위

그것이 이미지에 표시된되는처럼 보​​이지해야 러닝 :

listviewItemSiempreVisible002

이 정보가 당신을 도와 주면 그게 다야, 코멘트를 남겨주세요.

"위에 항상 품목 Listview"11 응답

  1. Bitacoras.com는 말합니다 :

    정보 Bitacoras.com ...

    Bitacoras.com의 평가 : 당신이 ListView 컨트롤의 ListViewItems에 새 항목을 추가하고, 이들은 수직 스크롤 막대를 추가, 컨트롤이 화면에 표시하기 위해 충분한 공간을 가지고 있지 않도록 여러 가지 있습니다 때마다. 이것은 .....

  2. 신비주의는 말했다 :

    그럼 우리가 모든 데이터를 표시하려면 Q를 알고 있지만 설명할 수있다면 Q 제가 모듈에 저장되는 방식을 관심있어하는 것은 톱질은 프로그램 aunq입니다

  3. RCHARD는 말합니다 :

    나도 똑같이하되 대한 예제 DataGridView 없다면이 문제에 날 도와 줄꺼라는하고자하는 질문

    내 이메일 :
    richardramos789@hotmail.com
    당신이 나를 도와 주면 감사하겠습니다

  4. 호르헤는 말합니다 :

    안녕하세요 같은

    내 시스템에 구현하는 listview로 의심을 보라, 내가 제대로 내 listview 인쇄에 POS 시스템을 짜고 제 txtbox 성취도에 코드를 입력하고, 제 질문은 같은 제품을 등록할 때 내가 원하는 것입니다 오히려 새로운 행을 추가하는 것보다 그것에 추가되고 수량 열에 수를 늘리는 것입니다.

    제가 설명하거나하는 경우가 아니라 제가 12,345 추가하면 예를 들어, 내 listview에 인쇄되어 있지만, 내가 새 행에 인쇄를 게재할 수 12,345 추가하면 연속으로 인쇄되어 있지만 열 금액을 2로 증가 나는 크게 감사하겠습니다 것이이 질문에 나를 안내할 수 있습니다.

    • 엘리사는 말합니다 :

      난 정말 네가 뭘 원하는지 해제하지 않은,하지만 난 당신이이 예제 보는 것이 좋습니다 도움이 될 수 있습니다 http://www.solovb.net/index.php/2009/02/19/modificar-datos- 의-A-listview /
      기타 문의 사항은 저에게 연락하는 것을 망설이지 말라.

      감사합니다

    • 오스카는 말합니다 :

      안녕 조지, 데이터 지속성과 관련된 질문 2 솔루션에 의해 테이블​​에 특정 키 계급에 속하는 컬럼을 업데이 트할지 선택할 수 있습니다 : 먼저 필요한 분야와 DB를 만들고를 사용하여 아니면 SQL Server 용 어댑터를 사용하여 MySQL의 어느 연결이 비주얼 스튜디오에 포함된, 다른 방법은 파일에 데이터를 저장 플랫 파일을 통해서입니다. TXT 후 일부 데이터를 읽고 다시 작성으로 진행 당신이 열 rewquerida에 대한 가치를 높이기 위해 필요로 두 옵션에 대해, 당신은 또한 요구 조건에 따라이 값을 증가하는 함수를 적용해야합니다. :)

  5. 호르헤는 말합니다 :

    엘리사는 즉시 회신해 주셔서 대단히 감사합니다.

    좋아, 내가 설명해 줄게 봐. 내 열과 제품 설명을 12,345,678 제 listview에서 좋은 상영 것이고, 내 DB에있는 제품을 추가 확인을 예를 들면, 코카콜라, 나는이 사건에서 내 텍스트 상자에있는 바코드를 입력하는 텍스트 상자가 listview은 다음과 같습니다

    제품 코드, 설명, 수량, 판매 가격, 존재.

    당신이 다른 삽입할 때 다음 제 행에 제품을 추가 내 listview에서 이러한 데이터 가득하지만, 만약 코카콜라의 코드를 다시 삽입, 내가하고 싶은 다음 줄에 표시되는 것을 일단 제품 자체보다는 새로운 연속보다는, 그냥 2로이 경우 교환에 제 칼럼 수량의 개수를 변경합니다.

    나는 그것을 감사 드려요이 질문에 답변을 어느 정도 말할 수있다면 그건 내가하고 싶은 차 이상 이죠.

    감사

    • 엘리사는 말합니다 :

      글쎄요, 지금은 좀 가볍고입니다.

      전에 새 줄을 삽입합니까 우선 당신이 이미 당신은 삽입하려는 코드를 입력한 경우 확인 listview를 건너하는 것입니다.
      당신은 예를 들어, 각각의 내용을 수행하는

      "나는 변수 내가 존재 이미 코드를 찾을 수 있는지 여부를 나타내는 것
      희미 부울 = 거짓으로 존재
      listviewProductos.items의 ListViewItem 등 각 항목에 대한
      그렇다면 item.text = txtCodigo.text
      그것이 이미로드 되었기 때문에 '당신이 여기 온 경우입니다
      정수 = CType (item.subitm (2). 텍스트, 정수)와 같은 cantidadAnterior 희미한
      item.subitem (2). cantidadAnterior + 텍스트 = CType (txtCantidad.text, 정수)
      '당신이 찾아내는 경우에 당신은 이미 존재한다는 것을
      = 사실이 존재
      END IF
      다음

      안 그러면 거기에 만약
      '여기 그것은 삽입 후 찾을 수 없습니다
      END IF

      음, Espro의 서브 ... 내가 직접 이곳을 쓴 이후로 당신은 오타 Terner 배제할 수 없다

      하지만, 더 유능한 사람이 될 것입니다

  6. 호르헤는 말합니다 :

    감사합니다 다시

    내가 수량 열의 값을 변경하여 그 문제에 효과가있다면 어떻게됩니까 것은 내 listview를 인쇄할 코드 같은데 제가 보여 MySQL 데이터베이스에서 값을 추출하고 있는지 댓글보기

    Listview 개인 서브 ()
    정수로 희미한 전
    희미한의 정수로서
    정수로 희미한 카운트
    더블로 소계 낮추기
    새 ListViewItem으로 낮추기 목록

    새로운 MySqlCommand 낮추기 문자열로서 ( "제품에서 SELECT * WHERE ProductCode를 = '"& txtCodigoBarras.Text & "'", 절약)

    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 ( "주식")))
    종료하는 동안

    희미 부울 = 거짓으로 존재

    ListView1.Items에서는 ListViewItem으로 각 항목에 대한
    그렇다면 item.Text = txtCodigoBarras.Text
    정수 = CType으로 CantidadAnterior 낮추기 (listar.SubItems (2). 텍스트, 정수)
    listar.SubItems (2). 텍스트 = cantidadAnterior + CType (mysqldr ( "수량"), 정수)
    = 사실이 존재
    END IF
    다음
    안 그러면 거기에 만약
    END IF

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

    s에 대한 ListView1.Items.Count하려면 = 0.0-1
    소계 = 소계 + ListView1.Items (들). SubItems (3). 텍스트
    다음
    lbLSubTotal.Text = "$"및 형식 (소계, "0.00")

    1 - 전 ListView1.Items.Count하려면 0을해야만 내용
    카운터 = 카운터 + ListView1.Items은 (i). SubItems (2). 텍스트
    다음
    Me.lblContador.Text = 카운터

    () mysqldr.Close
    최종 하위

    제가 보냈던 코드 그래서 그것을 구현하고 다음 사진의 결과를 볼 수 있습니다 :

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

  7. 호르헤는 말합니다 :

    친구 하하 죄송 묻고 싶은 게 너무 많아 화가있다면,하지만 난 더 많거나 적은 문제를 발견하고, 예를 들어 제품을 소개합니다

    DORITOSNAC

    앞줄에 삽입 내가 넣으면 DORITOSNAC는 두 번째 행에에 인쇄되어 있지만 이미 첫 번째 변경 할 수량에서 2 그 가치를 소개했고 동등 3 행에 다시 입력하도록 다시 인쇄되지만 1 개 행에서 3의 값을 변경

    그렇다면 txtCodigoBarras.Text = txtCodigoBarras.Text
    희미 부울 = 거짓으로 존재
    ListView1.Items에서는 ListViewItem으로 각 항목에 대한
    그렇다면 item.Text = txtCodigoBarras.Text
    정수 = CType으로 CantidadAnterior 낮추기 (item.SubItems (2). 텍스트, 정수)
    item.SubItems (2). 텍스트 = cantidadAnterior + CType (lblCantidadProd.Text, 정수)
    = 사실이 존재
    END IF
    다음
    안 그러면 거기에 만약
    END IF

    그럴 경우 부분에 대한 설명 감사합니다 지금 먹고 싶으면 봅시다.

  8. 호르헤는 말합니다 :

    이미 지원 솔루션을위한 많은 감사를 해결 달성 :

    정수로 희미한 카운트
    J의 경우 정수로 = 0 Me.ListView1.Items.Count하기 - 1
    만약 Me.ListView1.Items (J). SubItems (0). 그런 다음 텍스트 = txtCodigoBarras.Text
    카운트 = CInt (Me.ListView1.Items (J). SubItems (2). 텍스트) + 1
    Me.ListView1.Items (J). SubItems (2). 텍스트 = 카운트
    하위 메뉴를 종료합니다

논평