it-roy-ru.com

Выбор строки в DataGridView программно

Как программно выбрать определенный диапазон строк в DataGridView во время выполнения?

90
Nagendra

Не проверено, но я думаю, что вы можете сделать следующее:

dataGrid.Rows[index].Selected = true;

или вы можете сделать следующее (но опять же: не проверено):

dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
    if(YOUR CONDITION)
       row.Selected = true;
}
103
ChrFin

В Visual Basic сделайте это, чтобы выбрать строку в DataGridView; выбранная строка будет выделена выделенным цветом, но обратите внимание, что положение курсора не изменится:

Grid.Rows(0).Selected = True

Сделайте это, чтобы изменить положение курсора:

Grid.CurrentCell = Grid.Rows(0).Cells(0)

Комбинируя строки выше, вы поместите курсор и выберете строку. Это стандартная процедура для фокусировки и выбора строки в DataGridView:

Grid.CurrentCell = Grid.Rows(0).Cells(0)
Grid.Rows(0).Selected = True
28
Rodrigo T.
DataGridView.Rows
    .OfType<DataGridViewRow>()
     .Where(x => (int)x.Cells["Id"].Value == pId)
     .ToArray<DataGridViewRow>()[0]
     .Selected = true;
11
IM999MaxBonum

Попробуй это:

datagridview.Rows[currentRow].Cells[0];
2
user6314898
 <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
    }
  }
  1. Очистить весь предыдущий выбор.
  2. Цикл по рядам необходимо выбрать в вашей сетке.
  3. Получить их маркеры строк из сетки (обратите внимание, что сетка уже обновлена ​​новыми строками)
  4. Проверка правильности дескриптора строки.
  5. Когда верный дескриптор строки, выберите его.

Где itemList - это список строк, которые нужно выбрать в виде сетки.

0
IFlyHigh

Вы можете использовать метод Select, если у вас есть источник данных: http://msdn.Microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx

Или используйте linq, если у вас есть объекты в вашем источнике данных

0
thekip