Thursday, November 24, 2016

ListView C# - Ví dụ nhỏ sử dụng ListView

ListView là một control dùng để hiển thị một danh sách các item với các biểu tượng. Chúng ta có thể sử dụng một  ListView để tạo ra một giao diện giống như cửa sổ bên phải của Windows Explorer. Bài viết này sẽ trình bày các cách sử dụng cơ bản đối với control này.

- Đầu tiên các bạn thiết kế cho mình 1 giao diện như sau :
ListView C# - Ví dụ nhỏ sử dụng ListView

Sau đó ta có 1 file text với nội dung như sau:

Đây là 1 file text chứa nội dung ID và tên người dùng của 1 groups nào đó và thông số có phải adm của groups đó không. Dữ liệu này mình lấy test trên Graph Explore của Facebook.

Thực hành: Nhét hết dữ liệu vào ListView để được kết quả như sau:


Bắt đầu ý tưởng:
- Đầu tiên ta click vào button và chọn file text cần hiển thị lên ListView => Sử dụng Event Click của button bằng cách kích đúp vào control button.

- Tiếp đó là ta sẽ dùng File IO để nhập xuất dữ liệu từ ngoài vào trong chương trình. Sau đó nhét dữ liệu đó vào trong 1 danh sách List<string>.

- Tiếp theo là xử lý các chuỗi rồi đưa vào List

Thực hiện:



Ta tạo một Phương thức có tên là ImportData.
Khởi tạo một đối tượng dialog trong object OpenFileDialog

OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = ".txt|*.txt"; // Bộ lọc chỉ được import file txt
dialog.Title = "Open File Text Facebook"; // Đặt tiêu đề là Open File Text Facebook cho ô cửa sổ mở chọn file.

 if (dialog.ShowDialog() == DialogResult.OK)
                {
                    listInformationFacebook = new List<string>(File.ReadAllText(dialog.FileName).Split('\n'));

                    listView1.View = View.Details; // Hiển thị bảng nhìn dưới dạng View.Details
                    listView1.GridLines = true; // Có để gạch dòng như excel hay không
                    listView1.FullRowSelect = true; // Chọn 1 ô tô kín hàng hay không.
                    listView1.Columns.Add("ID Facebook", 120); // Đặt tên cho ô đầu tiên
                    listView1.Columns.Add("Name Facebook", 150); // Đặt tên cho ô thứ 2
                    listView1.Columns.Add("Administrator", 70); // Đặt tên cho ô thứ 3
                    progressBar1.Maximum = listInformationFacebook.Count; // Set thông số cho processBar bằng số lượng item
                    foreach (var item in listInformationFacebook)
                    {
                        ListViewItem listview; // khởi tạo đối tượng listview để lấy dữ liệu từ mảng dữ liệu
                        string[] arrItem = item.Split('|'); // Cắt theo luật item1 | item2 | item3
                        listview = new ListViewItem(arrItem); // Nhét mảng vào trong ListViewItem
                        listView1.Items.Add(listview); // Nhét ListViewItem vào control ListView
                        progressBar1.Value += 1; // Tăng processbar sau mỗi vòng lặp
                    }
                }

Vậy là xong ví dụ nhỏ. Nếu các bạn có câu hỏi thì cmt ở dưới. Nếu hay thì like không thì chia sẻ cho bạn bè các bạn cùng nhau học tập.

Source code: https://drive.google.com/file/d/0B5ABUSGfAEUbTlctVmhabzdrdHc/view?usp=sharing
File Text: https://drive.google.com/file/d/0B5ABUSGfAEUbaEluS0NkVklNeTg/view?usp=sharing



Bài Viết Liên Quan