如何防止滚动数据网格视图的前3行滚动。
应用程序是带有net framework 4.5的C#windows Forms
答案 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
如果您在执行此操作时遇到任何问题,请将问题代码添加到您的问题中。