Bạn cần phải sử dụng DataGridViewColumn.AutoSizeMode
tài sản.
Bạn có thể sử dụng một trong các giá trị cho cột 0 và 1:
AllCells: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 tế bào trong cột, trong đó có các tế bào tiêu đề.
AllCellsExceptHeader:Độ 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 có trong hàng hiện hiển thị trên màn hình, bao gồm các ô tiêu đề.
DisplayedCellsExceptHeader: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 có trong hàng hiện hiển thị trên màn hình, trừ các ô tiêu đề.
Sau đó, bạn sử dụng Fill giá trị cho cột 2
Chiều rộng cột điều chỉnh sao cho độ rộng của tất cả các cột chính xác lấp đầy 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ư được chỉ ra bởi những người dùng khác, giá trị mặc định có thể được đặt ở mức datagridview
với thuộc tính DataGridView.AutoSizeColumnsMode
.
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 ràng buộc với một nguồn dữ liệu và các cột được tự động tạo ra (AutoGenerateColumns
bất động sản thiết lập để True) , bạn cần sử dụng sự kiện DataBindingComplete
để áp dụng kiểu SAU cột đã được tạo ra.
Trong một số trường hợp (thay đổi ô giá trị theo mã ví dụ), tôi phải gọi DataGridView1.AutoResizeColumns();
để làm mới lưới.
Hoạt động hoàn hảo khi sử dụng sự kiện DataBindingComplete. –
Tôi không thể tìm cách gọi phương thức DataBindingComplete sau khi datagrid được điền – Dan
@Dan DataBindingComplete không phải là phương thức *, đó là sự kiện * datagridview * mà bạn cần đăng ký. Câu trả lời này http://stackoverflow.com/a/31685874/2387010 đưa ra một ví dụ. Nó có giúp ích không? – Chris