Bạn cần sử dụng DataGridViewColumn.AutoSizeMode
tài sản.
Bạn có thể sử dụng một trong các giá trị này cho cột 0 và 1:
AllCells: Chiều rộng cột điều chỉnh để vừa với nội dung của tất cả các ô trong cột, bao gồm cả ô tiêu đề.
AllCellsExceptHeader: Chiều rộng cột điều chỉnh để vừa với nội dung của tất cả các ô trong cột, ngoại trừ ô tiêu đề.
DisplayedCells: Chiều rộng cột điều chỉnh để phù hợp với nội dung của tất cả các ô trong cột nằm trong các hàng hiện được hiển thị trên màn hình, bao gồm cả ô tiêu đề.
DisplayedCellsExceptHeader: Chiều rộng cột điều chỉnh để vừa với nội dung của tất cả các ô trong cột nằm trong các hàng hiện được hiển thị trên màn hình, ngoại trừ ô tiêu đề.
Sau đó, bạn sử dụng giá trị Điền cho cột 2
Chiều rộng cột điều chỉnh để chiều rộng của tất cả các cột lấp đầy chính xác vùng hiển thị của điều khiển ...
this.DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
Như những người dùng khác đã chỉ ra, giá trị mặc định có thể được đặt ở datagridview
mức với thuộc DataGridView.AutoSizeColumnsMode
tính.
this.DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
có thể là:
this.DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
Lưu ý quan trọng:
Nếu lưới của bạn được liên kết với nguồn dữ liệu và các cột được tạo tự động (thuộc AutoGenerateColumns
tính được đặt thành True), bạn cần sử dụng DataBindingComplete
sự kiện để áp dụng kiểu SAU KHI các cột được tạo.
Trong một số trường hợp (thay đổi giá trị ô bằng mã chẳng hạn), tôi phải gọi DataGridView1.AutoResizeColumns();
để làm mới lưới.