Çalışma DataGridView
zamanında programlı olarak belirli bir satır aralığını nasıl seçebilirim ?
Yanıtlar:
Test edilmedi, ancak aşağıdakileri yapabileceğinizi düşünüyorum:
dataGrid.Rows[index].Selected = true;
veya aşağıdakileri yapabilirsiniz (ancak yine: test edilmemiştir):
dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
if(YOUR CONDITION)
row.Selected = true;
}
SelectedRows.Clear()
yalnızca seçilen satırlar silinir, fakat ClearSelection()
aynı zamanda sütunların => sütun seçimleri ... kaybolur
dataGrid.CurrentCell = dataGrid.Rows[row.Index].Cells[0];
Visual Basic'te, bir satırda bir satır seçmek için bunu yapın DataGridView
; seçilen satır vurgulanmış bir renkle görünecektir, ancak imleç konumunun değişmeyeceğini unutmayın:
Grid.Rows(0).Selected = True
Bu, imlecin konumunu değiştirir mi:
Grid.CurrentCell = Grid.Rows(0).Cells(0)
Yukarıdaki satırları birleştirmek, imleci konumlandıracak ve bir satır seçecektir. Bu, bir satıra odaklanmak ve seçmek için standart prosedürdür 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
}
}
ÖğeListesi, ızgara görünümünde seçilecek satırların listesidir.
Bunu dene:
datagridview.Rows[currentRow].Cells[0];
datagridview.Rows[currentRow].Cells[0]
Sağlanan dizin konumundaki hücreyi alır. Bu , soruda istendiği gibi belirli bir satır aralığını nasıl seçer ?
Bir veri kaynağınız varsa Select yöntemini kullanabilirsiniz: http://msdn.microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx
Veya veri kaynağınızda nesneler varsa linq kullanın
Yükleme zamanında bir DataGridView Seçili satırını ayarlarken, varsayılan olarak üzerine yazılabileceği için DataBindingComplete olayında bunu işlemeyi düşünün.
read-only
sonra -SelectedRows.Clear()
çalışmaz.