Hiện tiêu đề cột (ColumnHeads) cho Listbox

syquyen1987

Thành viên chính thức
Tham gia ngày
8 Tháng bảy 2018
Bài viết
81
Được thích
32
Điểm
170
Tuổi
32
Chào Các Anh/Chị

Em đang trong giai đoạn học VBA. Em đang loay hoay không biết gán tiêu đề cột trong Listbox làm thế nào, do Listbox hiển thị các kết quả cho giá trị tìm kiếm (không phải RowSource). Em cũng tìm hiểu dùng Label cho tiêu đề Listbox nhưng do em gán dữ liệu nhiều cột dữ liệu vào Listbox nên Listbox sẽ có thanh cuộn ngang, vì vậy em không thể thực hiện bằng phương pháp này được. Giải pháp của em là cho tiêu đề cột thành dòng đầu tiên trong Listbox và sẽ không trực quan khi cuộn thanh dọc của Listbox xuống sẽ không nhìn thấy tiêu đề cột. Các Anh/Chị có giải pháp tối ưu nào cho trường hợp của em không ạ. Em xin cảm ơn
1600224610985.png
 

File đính kèm

VetMini

Chuyên gia GPE
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
10,129
Được thích
12,275
Điểm
1,560
Import cái data gridview của dot net.
Tôi chỉ biết mang máng vậy thôi. Mấy năm rồi không đụng đến dot net nên bạn hỏi có tiếp tôi cũng phải tra tài liệu lại. Và có thể bây giờ có cách mới rồi.
 

syquyen1987

Thành viên chính thức
Tham gia ngày
8 Tháng bảy 2018
Bài viết
81
Được thích
32
Điểm
170
Tuổi
32
Import cái data gridview của dot net.
Tôi chỉ biết mang máng vậy thôi. Mấy năm rồi không đụng đến dot net nên bạn hỏi có tiếp tôi cũng phải tra tài liệu lại. Và có thể bây giờ có cách mới rồi.
Dot net gì đó em chưa từng tiếp xúc bao giờ. Như anh nói là em sẽ hỏi tiếp nên em hỏi tiếp ạ. Anh có thể giới thiệu cho em Dot net để xử lý bài của em không ạ. Em cảm ơn
 

tigertiger

Coming back ...
Tham gia ngày
25 Tháng một 2007
Bài viết
1,630
Được thích
1,555
Điểm
860
Import cái data gridview của dot net.
Tôi chỉ biết mang máng vậy thôi. Mấy năm rồi không đụng đến dot net nên bạn hỏi có tiếp tôi cũng phải tra tài liệu lại. Và có thể bây giờ có cách mới rồi.
Cách 1 - đơn giản:
Tìm kiếm cộng thêm control ListView - sử dụng listview <<=== tìm kiếm google là có ngay

Cách 2: cũng đơn giản
Tạo 1 list box nữa 1 dòng chỉ chứa tiêu đề, đặt sát kề trên listbox dữ liệu --->> chỉnh các column width phù hợp bằng với listbox dữ liệu

Cách 3: như bài 2 nói, hoặc dùng các control của bên thứ 3 như iGrid
 
Lần chỉnh sửa cuối:

thnghiachau

Thành viên tiêu biểu
Tham gia ngày
14 Tháng chín 2009
Bài viết
671
Được thích
545
Điểm
860
Chào Các Anh/Chị

Em đang trong giai đoạn học VBA. Em đang loay hoay không biết gán tiêu đề cột trong Listbox làm thế nào, do Listbox hiển thị các kết quả cho giá trị tìm kiếm (không phải RowSource). Em cũng tìm hiểu dùng Label cho tiêu đề Listbox nhưng do em gán dữ liệu nhiều cột dữ liệu vào Listbox nên Listbox sẽ có thanh cuộn ngang, vì vậy em không thể thực hiện bằng phương pháp này được. Giải pháp của em là cho tiêu đề cột thành dòng đầu tiên trong Listbox và sẽ không trực quan khi cuộn thanh dọc của Listbox xuống sẽ không nhìn thấy tiêu đề cột. Các Anh/Chị có giải pháp tối ưu nào cho trường hợp của em không ạ. Em xin cảm ơn
View attachment 245595
Nhớ khi xưa mình có làm thủ công cái dzụ này....
Các header này mình làm bằng label cho nó như thế nó không chạy đi đâu được...
Lúc đó bí lối tự mình làm phục vụ cho mình.... @!>><
 

syquyen1987

Thành viên chính thức
Tham gia ngày
8 Tháng bảy 2018
Bài viết
81
Được thích
32
Điểm
170
Tuổi
32
Cách 1 - đơn giản:
Tìm kiếm cộng thêm control ListView - sử dụng listview <<=== tìm kiếm google là có ngay

Cách 2: cũng đơn giản
Tạo 1 list box nữa 1 dòng chỉ chứa tiêu đề, đặt sát kề trên listbox dữ liệu --->> chỉnh các column width phù hợp bằng với listbox dữ liệu

Cách 3: như bài 2 nói, hoặc dụng các control bên thứ 3 như iGrid
Cảm ơn anh đã quan tâm. Cách 1 và cách 3 em chưa từng tiếp xúc. Cách 2 em cũng đã nghĩ đến, nhưng khi cuộn ngang listbox dữ liệu thì listbox thêm (tiêu đề) cũng phải cuộn ngang tương ứng. Em thấy cũng không đơn giản. Do em chưa có thời gian nên chưa thử cách 2 mặc dù đã nghĩ đến nó rồi ạ. Còn cách 1 (listview) em nghe nói chạy được "môi trường" 32 hay 64 bit gì đó. Nếu như vậy cũng sẽ không tối ưu khi máy này chạy được còn máy khác không chạy được. Lúc nào có thời gian em sẽ tìm hiểu thêm ạ. Cảm ơn anh
Bài đã được tự động gộp:

Nhớ khi xưa mình có làm thủ công cái dzụ này....
Các header này mình làm bằng label cho nó như thế nó không chạy đi đâu được...
Lúc đó bí lối tự mình làm phục vụ cho mình.... @!>><
Em không hiểu sao có thể dán label được khi listbox có cuộn thanh ngang ạ.
 

thnghiachau

Thành viên tiêu biểu
Tham gia ngày
14 Tháng chín 2009
Bài viết
671
Được thích
545
Điểm
860
Em không hiểu sao có thể dán label được khi listbox có cuộn thanh ngang ạ.
Đã nói là làm thủ công cho riêng mình thôi mà...
lúc đó không có kéo ngang ah.
Còn giờ nghĩ nếu mình làm thủ công thì tạo ra cái listbox cho header thôi, và liên kết sự dịch chuyển của cái listbox Data với cái list box header này.
Các anh GPE đừng ném đá em nha... em đã bảo là em làm thủ công dùng chữa cháy thôi khi mình chưa học được cái mình cần
 

tigertiger

Coming back ...
Tham gia ngày
25 Tháng một 2007
Bài viết
1,630
Được thích
1,555
Điểm
860
Cảm ơn anh đã quan tâm. Cách 1 và cách 3 em chưa từng tiếp xúc. Cách 2 em cũng đã nghĩ đến, nhưng khi cuộn ngang listbox dữ liệu thì listbox thêm (tiêu đề) cũng phải cuộn ngang tương ứng. Em thấy cũng không đơn giản. Do em chưa có thời gian nên chưa thử cách 2 mặc dù đã nghĩ đến nó rồi ạ. Còn cách 1 (listview) em nghe nói chạy được "môi trường" 32 hay 64 bit gì đó. Nếu như vậy cũng sẽ không tối ưu khi máy này chạy được còn máy khác không chạy được. Lúc nào có thời gian em sẽ tìm hiểu thêm ạ. Cảm ơn anh
Bài đã được tự động gộp:


Em không hiểu sao có thể dán label được khi listbox có cuộn thanh ngang ạ.
Hãy nghĩ thoáng ra, và không lười được
Nên tóm tắt thông tin hiện phần tóm tắt thôi, số cột nằm trong 1 trang form, 1 trang list box (theo phương ngang) còn cứ tham thì mệt

Còn vẫn tham thì cần phải xử lý sự kiện Scroll - có thể nhưng tự làm khó mình (không đáng, vì ở 1 thời điểm cũng xem được trong tầm mắt thôi)

Cảm ơn anh đã quan tâm. Cách 1 và cách 3 em chưa từng tiếp xúc.
Chưa tiếp xúc, thì giờ tiếp xúc giờ học vậy thôi, còn cứ nói không thì mãi có thể bạn là không và không
 

batman1

Thành viên gạo cội
Tham gia ngày
8 Tháng chín 2014
Bài viết
3,539
Được thích
5,392
Điểm
560
Em không hiểu sao có thể dán label được khi listbox có cuộn thanh ngang ạ.
Nếu tôi hiểu ý này thì thử đọc kỹ tất cả bài trong chủ đề sau


Từ code của tôi (siwtom) ở chủ đề trên tôi soạn cho bạn tập tin ví dụ.
 

File đính kèm

syquyen1987

Thành viên chính thức
Tham gia ngày
8 Tháng bảy 2018
Bài viết
81
Được thích
32
Điểm
170
Tuổi
32
Từ code của tôi (siwtom) ở chủ đề trên tôi soạn cho bạn tập tin ví dụ.
[/QUOTE]
Anh ơi, nhưng xét về tổng thể thì listbox hiển thị kết quả của anh vẫn nằm trong khung anh thiết lập đó ạ. Có thể anh hiểu sai ý của em. Ý của em là thiết kế listbox to bằng màn hình nhưng khi hiển thị listbox hiển thị thì sẽ cho ra thanh cuộn ngang ạ. Như vậy thì label được dán vào sẽ không còn phù hợp nữa.
 

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT
Administrator
Tham gia ngày
18 Tháng ba 2008
Bài viết
7,671
Được thích
14,608
Điểm
1,910
Nơi ở
Tp.HCM
Anh ơi, nhưng xét về tổng thể thì listbox hiển thị kết quả của anh vẫn nằm trong khung anh thiết lập đó ạ. Có thể anh hiểu sai ý của em. Ý của em là thiết kế listbox to bằng màn hình nhưng khi hiển thị listbox hiển thị thì sẽ cho ra thanh cuộn ngang ạ. Như vậy thì label được dán vào sẽ không còn phù hợp nữa.
Bạn nên chọn 1 lưới khác thay thế cái listbox, hoặc ghi xuống sheet rồi đưa lên lại listbox.
 

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia ngày
8 Tháng sáu 2006
Bài viết
11,844
Được thích
17,762
Điểm
1,860
Em đang trong giai đoạn học VBA. Em đang loay hoay không biết gán tiêu đề cột trong Listbox làm thế nào, do Listbox hiển thị các kết quả cho giá trị tìm kiếm (không phải RowSource). Em cũng tìm hiểu dùng Label cho tiêu đề Listbox nhưng do em gán dữ liệu nhiều cột dữ liệu vào Listbox nên Listbox sẽ có thanh cuộn ngang, vì vậy em không thể thực hiện bằng phương pháp này được. Giải pháp của em là cho tiêu đề cột thành dòng đầu tiên trong Listbox và sẽ không trực quan khi cuộn thanh dọc của Listbox xuống sẽ không nhìn thấy tiêu đề cột. Các Anh/Chị có giải pháp tối ưu nào cho trường hợp của em không ạ. . . .
Vậy thì chuyển thành 2 ListBox trên 2 Pages Trên 2 ListBox này đều có cột ID (Chỉ là ý tưởng thôi nha!)
 

syquyen1987

Thành viên chính thức
Tham gia ngày
8 Tháng bảy 2018
Bài viết
81
Được thích
32
Điểm
170
Tuổi
32
Bạn nên chọn 1 lưới khác thay thế cái listbox, hoặc ghi xuống sheet rồi đưa lên lại listbox.
Vâng, em hiểu ý anh rồi ạ. Như vậy cần đổ dữ liệu xuống sheet rồi lại đưa lên form. Nhưng em đang tính đến phương án thêm một listbox cho tiêu đề bên cạnh listbox kết quả, và sẽ xử lý Scroll cuộn ngang để đồng bộ cho 2 listbox này ạ
 

tigertiger

Coming back ...
Tham gia ngày
25 Tháng một 2007
Bài viết
1,630
Được thích
1,555
Điểm
860
Từ code của tôi (siwtom) ở chủ đề trên tôi soạn cho bạn tập tin ví dụ.

Anh ơi, nhưng xét về tổng thể thì listbox hiển thị kết quả của anh vẫn nằm trong khung anh thiết lập đó ạ. Có thể anh hiểu sai ý của em. Ý của em là thiết kế listbox to bằng màn hình nhưng khi hiển thị listbox hiển thị thì sẽ cho ra thanh cuộn ngang ạ. Như vậy thì label được dán vào sẽ không còn phù hợp nữa.
Thì bạn mở rộng cái khung đó ra hết màn hình, List box cũng thế, thì là đạt kết quả; Tất nhiên các labels phải đi theo phù hợp với listbox của chính vấn đề đó
 
Lần chỉnh sửa cuối:

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT
Administrator
Tham gia ngày
18 Tháng ba 2008
Bài viết
7,671
Được thích
14,608
Điểm
1,910
Nơi ở
Tp.HCM
Hai Lúa biết grid nào chạy được trên office64 không?
Thời em còn dùng VB6.0 em hay dùng VSFlexGrid và MSFlexGrid mà có lần em giới thiệu với Sư Phụ đó. Giờ lâu quá em không dùng vì đã chuyển qua VB.Net để sử dụng mấy cái lưới của thằng DevExpress rồi.
 

batman1

Thành viên gạo cội
Tham gia ngày
8 Tháng chín 2014
Bài viết
3,539
Được thích
5,392
Điểm
560
Anh ơi, nhưng xét về tổng thể thì listbox hiển thị kết quả của anh vẫn nằm trong khung anh thiết lập đó ạ. Có thể anh hiểu sai ý của em. Ý của em là thiết kế listbox to bằng màn hình nhưng khi hiển thị listbox hiển thị thì sẽ cho ra thanh cuộn ngang ạ. Như vậy thì label được dán vào sẽ không còn phù hợp nữa.
Bạn nói thế làm tôi buồn quá. Chả nhẽ chưa 70 mà đầu óc tôi đã có vấn đề sao.

Có lẽ do bạn không cho ví dụ cụ thể nên tôi không hiểu ý. Tôi đính kèm tập tin với các Label là tiêu đề của ListBox. Bạn chạy thử và cho tôi biết, cái gì không hợp ý bạn. Đừng nói chung chung vì tôi chậm hiểu mà. Cứ nói cụ thể: chỗ này khi tôi làm ... thì có cái này ..., nhưng ý tôi là phải thế này ... thế này ...
 

File đính kèm

syquyen1987

Thành viên chính thức
Tham gia ngày
8 Tháng bảy 2018
Bài viết
81
Được thích
32
Điểm
170
Tuổi
32
Bạn nói thế làm tôi buồn quá. Chả nhẽ chưa 70 mà đầu óc tôi đã có vấn đề sao.

Có lẽ do bạn không cho ví dụ cụ thể nên tôi không hiểu ý. Tôi đính kèm tập tin với các Label là tiêu đề của ListBox. Bạn chạy thử và cho tôi biết, cái gì không hợp ý bạn. Đừng nói chung chung vì tôi chậm hiểu mà. Cứ nói cụ thể: chỗ này khi tôi làm ... thì có cái này ..., nhưng ý tôi là phải thế này ... thế này ...
Em xin lỗi anh ạ. Mong được anh bỏ qua cho em. Code của anh chạy đúng lắm ạ. Em cảm ơn vì đã được học hỏi thêm từ anh ạ.
 
Top Bottom