2011-07-02 31 views
5

Tôi đã thất vọng bởi hành vi kỳ lạ này của DataGridView.Cellagridview Cell được chọn sau khi ClearSelection

Khi dữ liệu được mã hóa, một ô sẽ được chọn ngay cả khi lưới không có tiêu điểm. Tôi đã áp dụng cách giải quyết nhất định như thế này

this.ActiveControl = textBoxPartySearch; 
dataGridView1.Refresh(); 
dataGridView1.ClearSelection(); 
dataGridView1.CurrentCell = null; 
e.Handled = true; 

như đề xuất trong câu hỏi này của tôi: Remove blue colored row from DataGridView WinForms

Nhưng cách giải quyết này không làm việc và đôi khi làm cho mã lộn xộn.

Có chế độ xem dữ liệu miễn phí nào khác không có vấn đề này không?

Trả lời

0

Thay đổi cách bạn đang ràng buộc lưới.

Chuẩn bị dữ liệu đầu tiên và sau đó gán nó cho datagridview.

0
gvDataSources.CurrentCell.IsCurrent=false; 
gvDataSources.CurrentRow.IsCurrent = false; 
1

Tôi gặp sự cố này và đã giải quyết được sự cố bằng cách thêm myDataGridView.ClearSelection(); vào cuối mỗi Sự kiện được mã hóa.

Lúc đầu chỉ bằng cách có nó ở cuối phương pháp DataBind() của tôi là đủ. Sau đó, tôi đã thêm một số hành vi tùy chỉnh cho vẽ hàng và các thứ khác và nó ngừng hoạt động (tức là, luôn có hàng đầu tiên được chọn).

Vì vậy, tôi muốn nói nếu bạn đã thêm bất kỳ Sự kiện tùy chỉnh nào, đó có thể là lý do.

2

này làm việc cho tôi:

Trong constructor, sau khi các ràng buộc được thiết lập, thêm một handler cho sự kiện DataBindingComplete:

dgvCommandos.DataSource = systeemCommandos; // = my List<> of objects 
dgvCommandos.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(dgvCommandos_DataBindingComplete); 

Việc xử lý:

void dgvCommandos_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) 
{ 
    dgvCommandos.ClearSelection(); 
} 

Nếu bạn có ý định chọn một hàng (ví dụ: sau khi thêm/chèn một đối tượng mới), chỉ cần đặt:

dgvCommandos.Rows[insertPos].Selected = true; 
+0

Bạn phải đặt nó ở đây, trong DataBindingComplete nếu bạn có nội dung trong CellFormatting mà messes với nó trong khi nó đang bị ràng buộc. –

Các vấn đề liên quan