Cách để "DataGridViewTextBoxColumn
" trong DataGridView
hỗ trợ Thuộc tính nhiều dòng?Cách đặt cột hộp văn bản DataGridView thành nhiều dòng?
Trả lời
Bạn sẽ có thể đạt được điều này bằng cách đặt WrapMode
của số DefaultCellStyle
trong số DataGridViewTextBoxColumn
thành true
.
Ngoài thiết WrapMode
của DefaultCellStyle
, bạn có thể làm như sau:
- Bạn cần phải bắt GridView của
EditingControlShowing
Event - Cast
Control
tài sản trên EventArgs để loại bạn muốn (tức là textbox, checkbox hoặc nút) - Sử dụng loại được đúc đó, thay đổi thuộc tính
Multiline
như sau:
private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox TB = (TextBox)e.Control;
TB.Multiline = true;
}
Tôi đã tìm thấy rằng có hai điều bạn cần làm, cả trong nhà thiết kế, để làm cho một ô văn bản hiển thị nhiều dòng. Như Tim S. Van Haren được đề cập, bạn cần đặt WrapMode
của số DefaultCellStyle
trong số DataGridViewTextBoxColumn
thành true
. Và mặc dù điều đó làm cho văn bản quấn, nó không làm cho hàng mở rộng để hiển thị bất cứ điều gì vượt ra ngoài dòng đầu tiên. Ngoài WrapMode
, AutoSizeRowsMode
của DataGridView
phải được đặt thành giá trị DataGridViewAutoSizeRowsMode
thích hợp. Giá trị như DataGridViewAutoSizeRowsMode.AllCells
cho phép ô mở rộng theo chiều dọc và hiển thị toàn bộ văn bản được bao bọc.
Để tham chiếu, 'AutoSizeRowsMode' là thuộc tính của' DataGridView' và cần được đặt thành một cái gì đó như 'DataGridViewAutoSizeRowsMode.AllCells' –
Như @BenScott đã tuyên bố, [' DataGridView.AutoSizeRowsMode'] (http: // msdn. microsoft.com/en-us/library/system.windows.forms.datagridview.autosizerowsmode%28v=vs.110%29.aspx) không phải là một giá trị boolean và phải được gán giá trị liệt kê 'DataGridViewAutoSizeRowsMode' thích hợp. Tôi sẽ chỉnh sửa câu trả lời để phản ánh điều này. –
bạn cũng cần phải đặt 'dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;' xem [bài đăng này] (http://stackoverflow.com/questions/1706454/c-multiline-text-in-datagridview-control) – BornToCode
Ghi nhớ rằng nếu bạn sử dụng các kiểu dáng ô tùy chỉnh trong bảng của bạn, bạn sẽ cần phải chỉ định WrapMode cho mỗi kiểu bạn muốn gói, vì Kiểu mới mặc định nó là false. – kjhf