Câu trả lời:
Chưa được kiểm tra, nhưng tôi nghĩ bạn có thể làm như sau:
dataGrid.Rows[index].Selected = true;
hoặc bạn có thể làm như sau (nhưng một lần nữa: không được kiểm tra):
dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
if(YOUR CONDITION)
row.Selected = true;
}
SelectedRows.Clear()
chỉ có các hàng đã chọn được xóa, nhưng với ClearSelection()
cũng các cột => cột-selections bị mất ...
dataGrid.CurrentCell = dataGrid.Rows[row.Index].Cells[0];
Trong Visual Basic, hãy thực hiện việc này để chọn một hàng trong một DataGridView
; hàng đã chọn sẽ xuất hiện với màu được đánh dấu nhưng lưu ý rằng vị trí con trỏ sẽ không thay đổi:
Grid.Rows(0).Selected = True
Làm điều này để thay đổi vị trí của con trỏ:
Grid.CurrentCell = Grid.Rows(0).Cells(0)
Kết hợp các dòng trên sẽ định vị con trỏ và chọn một hàng. Đây là quy trình tiêu chuẩn để lấy nét và chọn một hàng trong một DataGridView
:
Grid.CurrentCell = Grid.Rows(0).Cells(0)
Grid.Rows(0).Selected = True
DataGridView.Rows
.OfType<DataGridViewRow>()
.Where(x => (int)x.Cells["Id"].Value == pId)
.ToArray<DataGridViewRow>()[0]
.Selected = true;
<GridViewName>.ClearSelection(); ----------------------------------------------------1
foreach(var item in itemList) -------------------------------------------------------2
{
rowHandle =<GridViewName>.LocateByValue("UniqueProperty_Name", item.unique_id );--3
if (rowHandle != GridControl.InvalidRowHandle)------------------------------------4
{
<GridViewName>.SelectRow(rowHandle);------------------------------------ -----5
}
}
Trong đó itemList là danh sách các hàng được chọn trong dạng xem lưới.
Thử cái này:
datagridview.Rows[currentRow].Cells[0];
datagridview.Rows[currentRow].Cells[0]
Nhận ... ô tại vị trí chỉ mục được cung cấp. Làm thế nào để điều này chọn một phạm vi hàng cụ thể như được yêu cầu trong câu hỏi?
Bạn có thể sử dụng phương pháp Chọn nếu bạn có nguồn dữ liệu: http://msdn.microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx
Hoặc sử dụng linq nếu bạn có các đối tượng trong nguồn dữ liệu
Khi đặt hàng Đã chọn của DataGridView tại thời điểm tải, hãy cân nhắc xử lý điều này trong sự kiện DataBindingComplete, vì nó có thể bị ghi đè theo mặc định.
read-only
- thìSelectedRows.Clear()
sẽ không hoạt động.