Мульти выбор на System.Windows.Forms.DataGrid (CF) - PullRequest
2 голосов
/ 21 мая 2010

Есть ли способ сделать мультиселекцию со стандартной сеткой данных? (Я использую компактный каркас.)


Вот что я в итоге сделал:

readonly List<int> _selectedRows = new List<int>();
private void dataGrid1_MouseUp(object sender, MouseEventArgs e)
{
    int c = dataGrid1.CurrentRowIndex;
    if (_selectedRows.Contains(c))
    {
        dataGrid1.UnSelect(c);
        _selectedRows.Remove(c);
        // Take focus off the current row if I can
        if (_selectedRows.Count > 0)
            dataGrid1.CurrentRowIndex = _selectedRows[0];
    }
    else
    {
        _selectedRows.Add(c);
    }
    foreach (int rowIndex in _selectedRows)
    {
        dataGrid1.Select(rowIndex);
    }
}

Вид мультилита для бедняков, но он работает.

1 Ответ

0 голосов
/ 21 мая 2010

Не по своей сути, нет. Вам придется самостоятельно обрабатывать SelectedRows и настраивать рисование .

...