Có ai biết grid control nào miễn phí không?

Liên hệ QC
Bài toán dạng này tôi đã từng làm cách đây không lâu. Nói chung là không khó nhưng cũng không dễ.
- Dễ: bởi toàn những code thông thường
- Khó: bẫy lỗi cũng như phải tính hết được những tình huống có thể xảy ra
Lấy ví dụ 1 tình huống: Bạn gõ vào các textbox và bấm Save Edit thì ta có 2 trường hợp xảy ra:
1> Số ID No chưa tồn tại, ta tiến hành lưu giá trị mới vào dòng cuối cùng của dữ liệu.
2> Số ID No đã tồn tại, phải cảnh báo người dùng tùy chọn bằng MsgBox Yes-No. Nếu bấm Yes nghĩa là sửa lại dòng có số ID No vừa gõ theo giá trị mới hoặc bấm No thì không làm gì cả
Nói sơ qua 1 tình huống như vậy cho bạn hình dung và hiểu rằng muốn hoàn thành nó phải cần nhiều thời gian
Dạ, vì phần bẫy lỗi ngốn nhiều thời gian của bác nên bác có thể xem xét bỏ qua nó và viết códe bình thường được không ạ? Còn phần bẫy lỗi tùy nhu cầu của mọi người khác nhau nên sẽ tùy biến theo cách riêng của mọi người ạ.
 
Lần chỉnh sửa cuối:
Cảm ơn bác
Bác quả thật đi guốc trong bụng em rồi. Em đã add code đưa dữ liệu vào sheet cho cả listview và igrid. Ở dưới là 1 vài yêu cầu, tuy có hơi phiền bác nhưng quả thật là nhu cầu khá cơ bản ạ.
Trong file em mới đính kèm, em nhờ bác hỗ trợ các nội dung sau:
- Khi chọn dòng nào trong igrid thì dữ liệu sẽ hiển thị trong các text box tương ứng ở dưới.
- Button "Add New" lấy dữ liệu gõ từ textbox vào trong igrid
- Button "Save Edit" lưu dữ liệu đã chỉnh sửa từ các textbox vào igrid và sheet1
- Button "Delete" xóa luôn dòng đã chọn trong igrid và refresh lại bảng igrid dồn lấp đi vòng vừa bị xóa.
Em nghĩ bấy nhiêu đó tính năng đã đủ nhu cầu cơ bản của mọi người cần dùng đến userform. Có lẻ sau khi bác hoàn thành xong phần này thì mọi người có thể rời xa cả listbox và listview để dùng igrid với đầy đủ tính năng "đẹp, hỗ trợ unicode, có thể cuộn chuột, sort theo tiêu đề, format tiêu đề, ...".
Cảm ơn bác đã khai sáng cho em và mọi người 1 control tuyệt vời như vậy. Hy vọng bác sẽ tiếp tục hỗ trợ em ạ.
Chúc bác buổi tối vui vẻ.
hỏi lại một câu: Tại sao bạn lại cần mấy cái TextBox bên dưới trong khi bạn hoàn toàn có thể Edit trực tiếp trên iGrid?
 
hỏi lại một câu: Tại sao bạn lại cần mấy cái TextBox bên dưới trong khi bạn hoàn toàn có thể Edit trực tiếp trên iGrid?
Dạ, em đang tính cho các trường hợp dữ liệu có nhiều cột thì thiết kế nhiều textbox theo khu vực em thấy có lẻ sẽ cần thiết, đỡ phải kéo qua kéo lại trong igrid ạ, với lại textbox còn dùng để nhập liệu mới nữa mà bác.
 
Dạ, em đang tính cho các trường hợp dữ liệu có nhiều cột thì thiết kế nhiều textbox theo khu vực em thấy có lẻ sẽ cần thiết, đỡ phải kéo qua kéo lại trong igrid ạ, với lại textbox còn dùng để nhập liệu mới nữa mà bác.
Nhập liệu mới hay sửa, tất cả đều có thể nhập trực tiếp trên iGrid mà không cần phải đi đường vòng thông qua các textbox
 
Nhập liệu mới hay sửa, tất cả đều có thể nhập trực tiếp trên iGrid mà không cần phải đi đường vòng thông qua các textbox
Dạ em không rành Igrid nên không biết ưu điểm của nó nên em cứ đi theo lối mòn của listview, listbox là cứ phải có textbox để sửa và thêm mới ạ. Nếu được thì nhờ bác làm 2 phương án xử trực tiếp trên igrid và thông qua textbox để mọi người có thể tự do lựa chọn phù hợp với nhu cầu nhé.
Về button "Add New":
Em có viết xong code và kèm phần bẫy lỗi nếu Id No bị trùng sẽ xuất hiện thông báo như bác nói, mọi thứ chạy ổn rồi. Em không biết refresh lại igrid có kèm dữ liệu mới vừa add được vào sheet, em có copy lại code UserForm_Initialize để nó lấy dữ liệu mới vô nhưng nó cứ trơ trơ ra bác ạ.
Về button "Save Edit": phần này có lẻ phải có bác hướng dẫn cách click vào dòng trên igrid thì hiện nội dung trong các textbox sau đó mới có hướng viết code tiếp ạ.
Mong bác hướng dẫn nhé.
 

File đính kèm

  • iGrid_Test data_5.xlsm
    672.7 KB · Đọc: 11
Lần chỉnh sửa cuối:
Chào bác @ndu96081631
Em cập nhật lại file mới, file cũ em chỉ kiểm tra người dùng nhập đủ 5 textbox nó mới bẫy lỗi, sáng nay em nhập thử chỉ 1 textbox id no bấm yes hết thì nó không bẫy lỗi.
File mới đã sửa lại lỗi đó ạ.
 

File đính kèm

  • iGrid_Test data_5.xlsm
    632.3 KB · Đọc: 10
Chào bác @ndu96081631,
Chắc các mod or admin thấy em chúc sức khỏe mỗi ngày với bác cảm thấy giống như đang spam hoặc làm phiền bác quá nên đã xóa các bài post đó rồi.
Hôm nay em cũng mò được cách khi chọn vào dòng nào trên igrid thì các textbox sẽ hiện nội dung ương ứng của dòng đó rồi ạ. Còn button Save Edit, Delete thì em chưa biết làm. Bác hướng dẫn em thêm nhé.

Mặc dù như bác nói, có thể thêm, sửa ,xóa trực tiếp trên igrid luôn nhưng em không biết làm ạ. Em làm kiểu truyền thống như listview và listbox thôi và kiểu này cũng giúp cho em và mọi người tùy sở thích và nhu cầu để lựa chọn áp dụng nha bác.

Bác xem file đính kèm nhé.
Mong bác dành chút thời gian để hỗ trợ làm 2 cách ạ.
Chúc bác sức khỏe
 

File đính kèm

  • iGrid_Test data_6.xlsm
    582.6 KB · Đọc: 22
Cho em hỏi chút các an!
Cái IGrid này có load được data từ Access không? Nếu được cho em xin ví dụ với ạ
 
Dùng được bạn à, cứ VBA là xài được tuốt. Trong bộ cài nó có thư mục ví dụ đó. Vào đó mà xem.
 
Web KT
Back
Top Bottom