2016-08-22 2 views
0

У меня есть приложение для рабочего стола, и я использую DataGridView в форме. Я застыл в первом ряду. Но когда я щелкнул заголовок столбца в DataGridView, положение первой строки также меняется. Как игнорировать первый ряд, пока я сортировка.Как заморозить первую строку, когда я щелкнул заголовок столбца для сортировки в DataGridView?

ответ

0

По существу, то, что вы просите, состоит в том, чтобы иметь возможность сортировать только часть DataGridView. Насколько мне известно, нет простого или стандартного способа сделать это, повторил ответ Филипа на этот вопрос: Sorting selected rows in DataGridView. Это не означает, что достичь желаемого поведения невозможно.

Filip предлагает реализацию, и в этом question, Justin предлагает код, который вам придется немного изменить, но который может удовлетворить ваши потребности. Вопрос задает вопрос о том, как перемещать строку вверх или вниз в DataGridView, но я думаю, что вы можете изменить его реализацию, чтобы переместить строку, которую вы хотите сохранить в начале, после сортировки. В зависимости от объема сортируемых строк первая строка может исчезнуть и снова появиться. Однако, если ваш набор данных относительно невелик, я не могу представить, что кратковременная вспышка первой строки, отсортированная по какой-либо случайной позиции, а затем добавленная назад в начало, вызовет серьезные проблемы.

0

В обработчике SortCompare событий для SortCompare случае DataGridView, попробуйте следующее:

private void dataGridView1_SortCompare(object sender, DataGridViewSortCompareEventArgs e) 
{ 
    if (e.RowIndex1 == 0) 
    { 
     e.Handled = true; 
    } 
    else 
    { 
     e.Handled = false; 
    } 
} 
+0

Я пытался раньше. Не работает. – mstfcck

Смежные вопросы