2009-07-10 19 views
6

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?

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

Hoàn hảo! Chỉ cần những gì tôi đang tìm kiếm. – dawntrader

+2

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

+1

Đặt 'DataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly = True' là một tùy chọn khác. – SSS

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