Tôi có một số DataGridView
trong đó một trong các cột là DataGridViewComboBoxColumn
. Khi lưới được điền, cột đó trông khác nhau vì mũi tên thả xuống xuất hiện trên mỗi ô trong cột. Tôi muốn thay đổi điều này để mũi tên thả xuống bị ẩn và chỉ hiển thị khi hàng thực sự được đánh dấu hoặc khi ô combobox được chọn để chỉnh sửa. Hành vi tôi muốn giống như cách cửa sổ Thuộc tính trong Visual Studio xử lý các giá trị của nó.Làm cách nào để ẩn mũi tên thả xuống của một DataGridViewComboBoxColumn như cửa sổ Thuộc tính Visual Studio?
6
A
Trả lời
9
Trong DataGridViewComboBoxColumn
, có một thuộc tính được gọi là DisplayStyle
. Đặt nó vào Nothing
để ẩn DropDownButton
Thông tin thêm về các DataGridViewComboBoxDisplayStyle
liệt kê hiện có sẵn tại đây MSDN link
0
Đã cho tôi một thời gian để tìm thấy điều này, nhưng ở trên là câu trả lời trộn với một vài trang khác.
Đây là cách ẩn menu thả xuống khỏi lưới dựa trên giá trị trong một lưới khác. ValueToCheck phải nằm trong ô trước khi ô chứa danh sách thả xuống bạn muốn ẩn.
Private Sub dgv_CellPainting(ByVal sender As Object, ByVal e As
DataGridViewCellPaintingEventArgs) Handles dgv.CellPainting
'Pages Grid needs to be edited when rendering
If (e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0) Then
Dim valueToCheck = dgv.Rows(e.RowIndex).Cells(2).Value
If (valueToCheck <> "True") Then
Dim thisCol = DirectCast(dgv.Rows(e.RowIndex).Cells(e.ColumnIndex), DataGridViewComboBoxCell)
thisCol.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing
e.PaintBackground(e.ClipBounds, False)
e.Handled = True
End If
End If
End Sub
0
Nếu bạn đặt DataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly = True
, thì menu thả xuống chỉ xuất hiện khi ô là ô hiện tại.
Các vấn đề liên quan
- 1. Làm thế nào để tự thả xuống một DataGridViewComboBoxColumn?
- 2. Cách chuyển đổi mũi tên thả xuống
- 3. Cách tạo mũi tên thả xuống từ Bootstrap của Twitter?
- 4. Làm cách nào để thêm hình ảnh làm mũi tên thả xuống?
- 5. Làm cách nào để dừng cửa sổ Visual Studio Output hiển thị tên logger của đầu ra log4net?
- 6. Làm phẳng các thành viên được thừa kế trong cửa sổ Xem của Visual Studio?
- 7. Thêm hình mũi tên xuống đơn giản để thả xuống các menu
- 8. Thực hiện một hệ thống cửa sổ nhiều tầng (như blend, visual studio) trong WPF
- 9. Trình gỡ rối/cửa sổ tương tác của Visual Studio đổ các thuộc tính của đối tượng COM trong .NET như thế nào?
- 10. Làm cách nào để hiển thị cửa sổ Visual Studio khi nó đang hoạt động?
- 11. Đặt thuộc tính UserControl để không hiển thị trong cửa sổ thuộc tính VS
- 12. Làm cách nào để ghi vào cửa sổ đầu ra trong Visual Studio 2010 AddIn?
- 13. Tôi làm cách nào để đặt các thuộc tính đối tượng javascript của IntelliJ theo tên trong cửa sổ xem?
- 14. Cách ghi vào cửa sổ Output trong Visual Studio?
- 15. Làm sạch cửa sổ ngay lập tức trong Visual Studio
- 16. Trình đơn thả xuống intellisense là gì và làm cách nào để tắt tính năng này?
- 17. Ẩn nút mũi tên trong ComboBox trong C#, VS2008
- 18. Làm cách nào để trình chỉnh sửa Visual Studio ngừng cuộn xuống dưới cùng của một tệp?
- 19. Visual Studio 2010 - Cửa sổ bán trong suốt
- 20. Thay đổi màu và hình dạng của mũi tên thả xuống
- 21. Magento: cách điền trước các giá trị thuộc tính thả xuống của sản phẩm
- 22. Cách ẩn các nút mũi tên trong một JScrollBar
- 23. Cách tạo DataGridViewComboBoxColumn mở rộng danh sách thả xuống ở bên trái?
- 24. Làm cách nào để đặt ViewModel trên một cửa sổ trong XAML bằng cách sử dụng thuộc tính DataContext?
- 25. Làm cách nào để chèn trình đơn thả xuống cho ứng dụng Windows Forms đơn giản trong Visual Studio 2008?
- 26. .net - Làm cách nào để ẩn các phương thức/thuộc tính của lớp thư viện (dll) của tôi khỏi IntelliSense của Visual Studio?
- 27. Làm cách nào để đóng các cửa sổ có thể gắn kết của Visual Studio bằng bàn phím?
- 28. Làm cách nào để ẩn thanh địa chỉ/thanh địa chỉ của cửa sổ javascript?
- 29. Cách tính tọa độ của đầu mũi tên dựa trên mũi tên?
- 30. Xóa cửa sổ bóng/ánh sáng khỏi Visual Studio 2012
Hoàn hảo! Chỉ cần những gì tôi đang tìm kiếm. – dawntrader
Trong trường hợp đó, bạn nên đánh dấu nó là câu trả lời được chấp nhận – Joe
Đặt 'DataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly = True' là một tùy chọn khác. – SSS