2014-09-25 12 views
3

Как предотвратить прокрутку прокрутки первых трех строк пропадающего элемента datagridView.Запретить прокручивать первые n строк

Приложение C# Windows Forms с NET Framework 4.5

+1

Что-то вдоль линий «mygrid.rows (2) .frozen = истина "- http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow.frozen(v=vs.110).aspx – Arvo

+2

@Arvo, это не работает. У меня уже было пытался. – TonyP

ответ

1

Свойство DataGridViewRow.Frozen Property должен работать с прокруткой с DataGridView, The Единственное, что нужно сделать, это установить его в DataGridView.DataBindingComplete event: like:

void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) 
{ 
    if (dataGridView1.Rows.Count >= 3) 
    { 
     dataGridView1.Rows[2].Frozen = true; 
    } 
} 

Вы можете установить Rows[2] к заморожен, как выше строки из этой позиции также замерзнет.

От DataGridViewRow.Frozen Property

Это свойство позволяет сохранить один или несколько рядов важных информации на месте, когда пользователь прокручивает через DataGridView. Все строки над замороженным рядом также заморожены.

Добавить событие в сетке, как:

dataGridView1.DataBindingComplete += dataGridView1_DataBindingComplete; 

, а затем привязки данных, как:

DataTable dt = GetDataFromDB(); 
dataGridView1.DataSource = dt; 
+0

Спасибо, как было предложено, работает только в случае события DataBindingComplete. – TonyP

+0

@TonyP, Просто понял еще одну вещь. Вам не нужно перебирать строки и устанавливать все три верхние, чтобы заморозить, вместо этого вы можете просто установить третью строку в Frozen, а строки над ней замерзнут. – Habib

0

См аналогичный вопрос ответил на StackOverflow: freeze top row and first two columns in datagridview

Что вы ищете является собственностью DataGridViewRow.Frozen. Позволяет вам заморозить любые строки, которые вы хотите. (Предотвращая их прокрутке)

Вы можете использовать его как это:

dataGridView.Rows[0].Frozen = true; 

Это хорошо документированы в MSDN: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow.frozen%28v=vs.110%29.aspx

Если у вас есть какие-либо проблемы, делать это, пожалуйста, добавьте код ваш вопрос.