2011-12-19 17 views
7

Vì vậy, tôi có một số xem dữ liệu mà chúng tôi đã đặt thành FullRowSelect. Người dùng hiện đang yêu cầu khả năng chọn trên các ô đơn lẻ cho các chức năng sao chép.DataGridView CellSelect và FullRowSelect

Tôi đặt DataGridView thành CellSelect nhưng khi tôi chạy ứng dụng, khi tôi nhấp vào Tiêu đề hàng, nó không làm nổi bật Hàng đầy đủ, chỉ cột đầu tiên.

Tôi đã thử sử dụng RowHeaderMouseClick với CellMouseClick để chuyển chế độ lựa chọn nhưng để RowHeaderMouseClick chọn hoàn toàn, tôi phải nhấp vào tiêu đề hàng nhiều lần.

private void DataGridView_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
{ 
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 
} 

Làm thế nào tôi có thể dễ dàng hay không quá dễ dàng chuyển đổi qua lại giữa CellSelectFullRowSelect tùy thuộc vào những gì họ đã được lựa chọn trên lưới điện?

Trả lời

13

Nếu tôi hiểu bạn, bạn muốn để có thể chọn các tế bào đơn lẻ mà còn dễ dàng chọn một hàng đầy đủ?

Nếu đúng như vậy, hãy đặt SelectionMode thành RowHeaderSelect.

2
DataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 

1- Bạn đang thực sự sử dụng cấu trúc DataGridView chứ không phải đối tượng DataGridView của bạn.

2- The SelectionMode không được sửa đổi mỗi lần người dùng nhấp vào Hàng, nhưng trong Constructor của chương trình của bạn.

Ví dụ

public MyForm() 
{ 
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 
} 
+1

Tôi đang sử dụng đối tượng, nó chỉ được gọi là DataGridView trong ví dụ. Tôi sẽ đổi tên cho sự rõ ràng. Theo như chế độ lựa chọn nó sẽ thay đổi dựa trên những gì người dùng muốn. Họ có thể bấm vào một ô nên nó sẽ là CellSelect. Nếu họ nhấp vào RowHeader nó sẽ là FullRowSelect. – Taryn

-1

this.dataGridViewEmpList.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

0

thêm một dòng mã này.

this.dataGridView1.SelectionMode = isTrue == true ? DataGridViewSelectionMode.FullRowSelect : DataGridViewSelectionMode.RowHeaderSelect;