防止前n行被滚动

时间:2014-09-25 12:37:34

标签: c# .net datagridview

如何防止滚动数据网格视图的前3行滚动。

应用程序是带有net framework 4.5的C#windows Forms

2 个答案:

答案 0 :(得分:1)

属性DataGridViewRow.Frozen Property适用于使用DataGridView滚动,唯一要做的就是在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;

答案 1 :(得分: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

如果您在执行此操作时遇到任何问题,请将问题代码添加到您的问题中。