Xin giúp em sữa lỗi Font và điều chỉnh kích thước các cột trong hộp thoại lựa chọn. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

napoleonxster

Thành viên mới
Tham gia
20/7/07
Bài viết
5
Được thích
0
Nhờ các anh xem giúp trong file Excell em đính kèm. Khi chỉ chuột vào cột Mã Hiệu, click chuột phải thì sẽ xuất hiện hộp thoại để mình chọn các Mã Hiệu tương ứng. Vấn đề của em như sau:
1. Sao Fonts chữ trong bảng hộp thoại lại bị lỗi thành những dấu "?" ? Em phải định dạng Fonts chữ như thế nào không bị lỗi nữa ạ?
2. Trong hộp thoại hiện ra, em muốn thu hẹp bề rộng của cột Mã Hiệu lại, và nới rộng cột Nội Dung ra thì phải làm như thế nào? Xin các anh hướng dẫn giúp.
3. Tại sao khi em nhập Mã Hiệu gợi ý vào ô trống phía trên, lẽ ra hộp thoại sẽ lọc bớt những mã hiệu không phù hợp, nhưng ở đây lại hiện ra thông báo lỗi ạ?
Xin các anh hướng dẫn giúp, vì em tự học trên diễn dàn nên còn nhiều lỗi chưa biết cách khắc phục.
 

File đính kèm

Lần chỉnh sửa cuối:
Nhờ các anh xem giúp trong file Excell em đính kèm. Khi chỉ chuột vào cột Mã Hiệu, click chuột phải thì sẽ xuất hiện hộp thoại để mình chọn các Mã Hiệu tương ứng. Vấn đề của em như sau:
1. Sao Fonts chữ trong bảng hộp thoại lại bị lỗi thành những dấu "?" ? Em phải định dạng Fonts chữ như thế nào không bị lỗi nữa ạ?

ListView không hỗ trợ Unicode bạn ạ. Nếu bạn "bắt buộc" phải dùng ListView và muốn hiển thị tiếng Việt thì bạn phải mã văn bản trước khi nhập vào ListView. Cách làm thì trên GPE đã nói nhiều, bạn tự tìm để nâng cao kỹ năng

2. Trong hộp thoại hiện ra, em muốn thu hẹp bề rộng của cột Mã Hiệu lại, và nới rộng cột Nội Dung ra thì phải làm như thế nào? Xin các anh hướng dẫn giúp.
Hiện tại ở cuối thủ tục ArrayToListview bạn có
For i = 1 To bCot
VlistView.ColumnHeaders(i).Width = 150
Next i
Tức cả 3 cột đều rộng 150. Bạn có thể làm (vd.):
For i = 1 To bCot
If i = 1 Then
VlistView.ColumnHeaders(i).Width = 50
Else
VlistView.ColumnHeaders(i).Width = 300
End If
Next i
Bạn nên nhớ là khi tạo "tiêu đề" (header) thì bạn cũng có thể xác định luôn độ rộng của mỗi cột. Vd.
For i = 1 To bCot
If i = 1 Then
VlistView.ColumnHeaders.Add , , , 50
Else
VlistView.ColumnHeaders.Add , , , 300
End If
Next i
Lúc đó đoạn mã ở trên không cần thiết nữa.
Cũng cần nhớ là nếu bạn thay dòng VlistView.HideColumnHeaders = TRUE
bằng dòng VlistView.HideColumnHeaders = False hoặc xóa hẳn (vì mặc định thì ... = FALSE) thì dù cột rộng hẹp như thế nào thì người dùng luôn có thể dùng chuột kéo ra thu vào.

3. Tại sao khi em nhập Mã Hiệu gợi ý vào ô trống phía trên, lẽ ra hộp thoại sẽ lọc bớt những mã hiệu không phù hợp, nhưng ở đây lại hiện ra thông báo lỗi ạ?
Xin các anh hướng dẫn giúp, vì em tự học trên diễn dàn nên còn nhiều lỗi chưa biết cách khắc phục.

Bạn nên rút kinh nghiệm lần sau. Khi có lỗi thì thường có thông báo lỗi gì. Nếu bạn không giỏi tiếng Anh thì tra từ điển. Lần sau sẽ không ai trả lời bạn nữa đâu.
Lỗi được báo là: "Biến chưa được khai báo". Có chỉ tận nơi là chỗ nào, biến nào. Ở đây là 2 biến không được khai báo: btim, bindex
Bạn phải khai báo biến trước khi dùng bởi bạn có Option Explicit
Nếu bỏ Option Explicit đi thì không cần khai báo. Nhưng không khai báo là thói quen lập trình xấu
Cũng có những chỗ không cần thiết nhưng tôi không có hứng phân tích. Chỉ cho vd.
bHeader = VlistView.ColumnHeaders.Count
Khi thiết kế ListView bạn không tạo cột nào thì dĩ nhiên bHeader = 0, tức dòng trên là thừa.
 
Upvote 0
Em xin cảm ơn anh Siwtom rất nhiều ạ! Em sẽ cố gắng học tập và rèn luyện thêm!
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom