• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

ListBox chuẩn có nhiều cột

Các thủ thuật liên quan đến việc xử lý ứng dụng, biểu mẫu và control
Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

ListBox chuẩn có nhiều cột

Gửi bàigửi bởi truongphu » T.Sáu 16/01/2009 4:35 pm

Thủ thuật: ListBox chuẩn có nhiều cột
Tác giả: truongphu
Mô tả: ListBox chuẩn (List1) có nhiều cột
Trình bày dữ liệu không cho edit



Chỉ cần List1 và code sau:

Mã: Chọn hết

  1. Option Explicit
  2.   Private Const LB_SETTABSTOPS As Long = &H192&
  3.   Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  4.   (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any) As Long
  5.  
  6. Private Sub Form_Load()
  7.   ReDim TabStops(1) As Long
  8.  
  9.   TabStops(0) = 32
  10.   TabStops(1) = 113
  11.  
  12.   Call SendMessage(List1.hWnd, LB_SETTABSTOPS, 2&, TabStops(0))
  13.  
  14.   Dim i&, Ngày As Date: Ngày = #5/8/1990#
  15.   List1.AddItem "STT" & vbTab & "Ho và Tên" & vbTab & "Ngày Sinh"
  16.   For i = 2 To 31
  17.     List1.AddItem i - 1 & vbTab & "Hoc Sinh " & CStr(i - 1) & _
  18.     vbTab & Ngày
  19.     Ngày = Ngày + 17
  20.   Next
  21.  
  22. End Sub


Hay không? Cảm ơn đã đọc bài. Xin nhấn nút Thank tại đây


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: ListBox chuẩn có nhiều cột

Gửi bàigửi bởi truongphu » CN 18/01/2009 10:38 am

Để minh họa bài viết trên rõ ràng hơn: tôi dùng ADODB để truy xuất dữ liệu file text, cho hiện ta list1
(Ghi chú: file text không dùng Unicode)

Mã: Chọn hết

  1. Private Const LB_SETTABSTOPS As Long = &H192&
  2.   Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  3.   (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any) As Long
  4. Private Sub Form_Load()
  5. Dim Cn As New ADODB.Connection
  6. Dim Rs As New ADODB.Recordset
  7. Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  8.           "Data Source=" & App.Path & "\" & _
  9.           ";Extended Properties=""text;HDR=YES;FMT=Delimited"""
  10.  
  11. Rs.Open "SELECT * FROM Danhsách.txt", _
  12.           Cn, adOpenStatic, adLockOptimistic, adCmdText
  13.  
  14.   ReDim TabStops(1) As Long
  15.  
  16.   TabStops(0) = 32
  17.   TabStops(1) = 113
  18.  
  19.   Call SendMessage(List1.hWnd, LB_SETTABSTOPS, 2&, TabStops(0))
  20.  
  21.   List1.AddItem "STT" & vbTab & "Ho và Tên" & vbTab & "Ngày Sinh"
  22.     Do While Not Rs.EOF
  23.         List1.AddItem Rs!STT & vbTab & Rs!HovàTên & vbTab & Rs!NgàySinh
  24.         Rs.MoveNext
  25.     Loop
  26.  
  27. End Sub
Tập tin đính kèm
CSDL là Text file.rar
(1.76 KiB) Đã tải 790 lần
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
playgemboy
Thành viên danh dự
Thành viên danh dự
Bài viết: 289
Ngày tham gia: CN 13/04/2008 6:10 am
Đến từ: Bình Phú, Quận 6, TP.HCM
Been thanked: 1 time
Liên hệ:

Re: ListBox chuẩn có nhiều cột

Gửi bàigửi bởi playgemboy » T.Bảy 24/01/2009 8:50 am

Chịu thua bác TruongPhu luôn, kiến thức của cháu còn rất bị hạn chế, cái code này của bác hay thật, cháu hiểu nôm na cái code của bác dùng tab để chia thành cột
Nhưng lần đầu tiên cháu thấy cách đọc file text kiểu như vậy, còn chia ra được từng trường, giống như đang đọc file .mdb vậy, liệu cháu có thể thao tác dữ liêu được hay không?(thêm, xóa, cập nhật....), bằng cách nào?

Nhân tiện cho cháu hỏi 1 chút về code:
ReDim TabStops(1)...

Cháu không thấy bác khai báo biến này, vậy tại sao có thể Redim (phải Dim bien() .. rồi mới Redim Bien(x) ... chứ nhỉ, lạ thật

...adOpenStatic, adLockOptimistic, adCmdText...
những cái này có phải giống như hằng cung cấp sẵn phải ko bác truongphu?
<I Come Back>

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: ListBox chuẩn có nhiều cột

Gửi bàigửi bởi truongphu » T.Ba 27/01/2009 8:43 am

CHÚC MỪNG NĂM MỚI!
playgemboy đã viết:dùng tab để chia thành cột

- Đúng

playgemboy đã viết:chia ra được từng trường, giống như đang đọc file .mdb vậy, liệu cháu có thể thao tác dữ liêu được hay không?(thêm, xóa, cập nhật....), bằng cách nào?

truongphu đã viết:Mô tả: ListBox chuẩn (List1) có nhiều cột
Trình bày dữ liệu không cho edit


playgemboy đã viết:không thấy bác khai báo biến này, vậy tại sao có thể Redim (phải Dim bien() .. rồi mới Redim Bien(x) ... chứ nhỉ

TabStops là biến có sẵn của VB, thật ra nó có thể là Class, là Property tùy sử dụng. Nói chung nó là một Object, là một biến có sẵn

playgemboy đã viết:...adOpenStatic, adLockOptimistic, adCmdText...
những cái này có phải giống như hằng cung cấp sẵn phải ko bác truongphu?

- Đúng thế, xem: Kết nối CSDL, ADODB. Cập nhật thường xuyên. Mục Lục
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

kaildo
Thành viên chính thức
Thành viên chính thức
Bài viết: 43
Ngày tham gia: T.Sáu 26/11/2010 12:57 am
Has thanked: 6 time
Been thanked: 3 time

Re: ListBox chuẩn có nhiều cột

Gửi bàigửi bởi kaildo » T.Hai 07/10/2013 3:29 am

Bác Phú cho hỏi mình có lấy được stt hay tên hay năm sinh khi click vào từng dòng ko nhĩ.


Quay về “[VB] Ứng dụng - Form và Control”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách