Giới thiệu

Trong bài hôm nay csharpcanban.com sẽ hướng dẫn các bạn sử dụng Listview Control để hiển thị sản phẩm. Sau khi thực hành các bạn có thể áp dụng để hiển thị hoặc thao tác với danh mục sản phẩm trên C# của bạn.

Listview Control là một Control có nguồn gốc từ Listbox Control, tuy nhiên Listview có nhiều tùy biến hơn cho các lập trình viên. Sau khi chạy, chương trình sẽ có giao diện như hình dưới đây.

[C#] Hướng dẫn sử dụng Listview Control

Đặc điểm của Listview

Listview Control có khá nhiều thuộc tính và sự kiện. Để thêm cột vào Listview các bạn sử dụng phương thức Columns.Add(). Phương thức này có 2 tham số, tham số thứ 1 là Tiêu đề của Cột, còn tham số thứ 2 là chiều rộng Cột.

listView1.Columns.Add("Tên sản phẩm", 100);

Như ví dụ trên, các bạn thấy “ProductName” là tiêu đề Cột, còn 100 là chiều rộng Cột.

Thêm Item vào Listview

Các bạn có thể hiểu Item của Listview chính là một đối tượng chứa nhiều thuộc tính, ví dụ Item là một sản phẩm, chứa các thuộc tính như: Tên sản phẩm, Đơn giá, Số lượng v.v…

Các bạn có thể thêm Items vào Listview khi sử dụng ListviewItem đại diện cho một Item trong Listview Control. Để thêm một Item ta có thể sử dụng mảng để lưu các thông số của Item. Ví dụ dưới đây cho thấy mảng arr[] lưu trữ thuộc tính, gồm: arr[0] lưu Tên sản phẩm, arr[1] lưu Giá sản phẩm, arr[2] lưu Số lượng sản phẩm.

string[] arr = new string[4];
ListViewItem itm;
//thêm Item vào ListView
arr[0] = "Sản phẩm 01";
arr[1] = "100";
arr[2] = "10";
itm = new ListViewItem(arr);
listView1.Items.Add(itm);

Lấy giá trị trả lại của Listview khi Item được chọn

productName = listView1.SelectedItems[0].SubItems[0].Text;

Đoạn mã trên sẽ trả lại Tên sản phẩm nằm ở Cột đầu tiên của dòng thứ nhất.

Xem thêm  [C#] Chuyển đổi ảnh từ định dạng PNG sang JPG

Xắp xếp Listview Items

Nếu bạn đặt thuộc tính Sorted của Listview là True, thì danh sách Items trong Listview sẽ được xắp xếp.

ListView1.Sorted = true;

Thêm Checkbox vào Listview

Đôi khi bạn muốn thêm Checkbox vào Listview, để thêm Checkbox vào Listview thực hiện như sau

myListView.CheckBoxes = true;
myListView.Columns.Add(Tiêu đề, Chiều rộng);

Ngoài ra, Listview còn hỗ trợ rất nhiều thuộc tính khác để các bạn tùy biến, những thuộc tính hay sử dụng như, thuộc tính View cho phép bạn thay đổi chế độ hiển thị, thuộc tính SelectionMode cho phép thay đổi số lượng Item mà người dùng có thể chọn cùng lúc. Và nhiều thuộc tính thú vị khác.

Xây dựng phần mềm

Bước 1. Tạo một Project Winform mới có tên là HDSDListview

Bước 2. Kéo Listview vào Form1 và đặt các thuộc tính Details, GridLines và FullRowSelect là true như dưới đây

listView1.View = View.Details;
listView1.GridLines = true;
listView1.FullRowSelect = true;

Bước 3. Trong phương thức Load() của Form1 thêm đoạn mã sau để khởi tạo Listview Control

private void Form1_Load(object sender, EventArgs e)
{
	listView1.View = View.Details;
	listView1.GridLines = true;
	listView1.FullRowSelect = true;

	//Thêm tiêu đề cho cột

	listView1.Columns.Add("Tên sản phẩm", 100);
	listView1.Columns.Add("Giá", 70);
	listView1.Columns.Add("Số lượng", 70);

	//Thêm Item vào listview
	string[] arr = new string[4];
	ListViewItem itm;

	//Thêm Item đầu tiên
	arr[0] = "Sản phẩm 01";
	arr[1] = "100";
	arr[2] = "10";
	itm = new ListViewItem(arr);
	listView1.Items.Add(itm);

	//Thêm Item thứ 2
	arr[0] = "Sản phẩm 02";
	arr[1] = "200";
	arr[2] = "20";
	itm = new ListViewItem(arr);
	listView1.Items.Add(itm);
}

 

Bước 4. Kéo Button vào Form1 và thêm đoạn mã sau vào sự kiện Click

private void button1_Click(object sender, EventArgs e)
{
	string productName = null;
	string price = null;
	string quantity = null;

	if(listView1.SelectedItems.Count > 0)
	{
		productName = listView1.SelectedItems[0].SubItems[0].Text;
		price = listView1.SelectedItems[0].SubItems[1].Text;
		quantity = listView1.SelectedItems[0].SubItems[2].Text;

		MessageBox.Show(productName + " , " + price + " , " + quantity);
	}
	else
	{
		MessageBox.Show("Hãy chọn 1 sản phẩm");
	}
}

Code tổng thể

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace HDSDListview
{
	public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();
		}

		private void Form1_Load(object sender, EventArgs e)
		{
			listView1.View = View.Details;
			listView1.GridLines = true;
			listView1.FullRowSelect = true;

			//Thêm tiêu đề cho cột

			listView1.Columns.Add("Tên sản phẩm", 100);
			listView1.Columns.Add("Giá", 70);
			listView1.Columns.Add("Số lượng", 70);

			//Thêm Item vào listview
			string[] arr = new string[4];
			ListViewItem itm;

			//Thêm Item đầu tiên
			arr[0] = "Sản phẩm 01";
			arr[1] = "100";
			arr[2] = "10";
			itm = new ListViewItem(arr);
			listView1.Items.Add(itm);

			//Thêm Item thứ 2
			arr[0] = "Sản phẩm 02";
			arr[1] = "200";
			arr[2] = "20";
			itm = new ListViewItem(arr);
			listView1.Items.Add(itm);
		}

		private void button1_Click(object sender, EventArgs e)
		{
			string productName = null;
			string price = null;
			string quantity = null;

			if(listView1.SelectedItems.Count > 0)
			{
				productName = listView1.SelectedItems[0].SubItems[0].Text;
				price = listView1.SelectedItems[0].SubItems[1].Text;
				quantity = listView1.SelectedItems[0].SubItems[2].Text;

				MessageBox.Show(productName + " , " + price + " , " + quantity);
			}
			else
			{
				MessageBox.Show("Hãy chọn 1 sản phẩm");
			}
		}

	}
}

Kết luận

Trên đây csharpcanban.com đã hướng dẫn các bạn cách sử dụng Listview Control trong C#. hãy vận dụng ngay Hướng dẫn sử dụng Listview Control trên đây vào chương trình của bạn nhé.

Xem thêm  [C#] Giữ cho cửa sổ luôn ở trên những cửa sổ khác

Trong các bài tiếp theo mình sẽ hướng dẫn tiếp các bạn sử dụng các Control trong C#, đó là sử dụng Combobox, Listbox, Radio Button, và nhiều Control khác, hãy thường xuyên theo dõi website csharpcanban.com để cập nhật các bài học mới nhé các bạn.

Bản quyền

Những bài viết trên csharpcanban.com được biên soạn, biên dịch từ nhiều nguồn khác nhau, đồng thời đã được viết thành chương trình chạy. Csharpcanban.Com bảo lưu mọi quyền đối với những bài viết này. Mọi hình thức sao chép đều cần phải được cấp phép của Csharpcanban.Com.

Tải CODE

Để tải Code, các bạn hãy nhấp vào Nốt bấm dưới đây. Do mình dử dụng dịch vụ lưu trữ của MediaFire cho nên các bạn hoàn toàn yên tâm là không có virus đâu nhé.

Mật mã giải nén: csharpcanban.com

By admin