2011-12-04 11 views

Trả lời

6

Bạn có thể làm điều này trong CellFormatting kiện

void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
     if (e.ColumnIndex == 0) //Index of your DataGridViewComboBoxColumn 
     { 
      e.Value = "Default Value"; 
     } 
} 
+0

Waqas: Thanx rất nhiều ... Bạn giúp tôi rất nhiều. –

+0

nó hoạt động nhưng mang lại cho tôi một thông báo lỗi với "giá trị không phải là một loại Boolean hợp lệ" khi tôi cố gắng thiết lập giá trị mặc định của nó bằng một chuỗi. bạn có thể giúp tôi với điều này không? @Waqas –

+0

Điều này được gọi là mọi lúc mọi thứ chạm vào ô, khiến cho giá trị được đặt trở lại mặc định liên tục. Xem câu trả lời của tôi dưới đây. – Jamie

12

Tôi biết đây là một bài cổ đại, nhưng hy vọng, tôi có thể giúp một số người tránh nhầm lẫn của tôi.

Sử dụng CellFormatting là một kẻ thua cuộc vì nó gọi nó mỗi lần chạm vào ô. Kết quả là giá trị được đặt trở lại mặc định liên tục.

gì làm việc đối với tôi là xử lý các sự kiện DefaultValuesNeeded như vậy:

private void OnGridDefaultValuesNeeded(object sender, DataGridViewRowEventArgs e) 
{ 
    e.Row.Cells["Position"].Value = PositionEnum.Any; 
} 

Điều này cho phép tôi để thiết lập giá trị mặc định, và cho phép người dùng thay đổi giá trị.

+1

Cảm ơn! Giúp tôi rất nhiều. – thedom

+1

Điều này hoạt động hoàn hảo như tôi muốn. Nó đặt giá trị được chọn của combobox thay vì chỉ giá trị. Cảm ơn. – hims056