Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自动调整gridview到displayedcells的大小_C#_Datagridview_Scroll - Fatal编程技术网

C# 自动调整gridview到displayedcells的大小

C# 自动调整gridview到displayedcells的大小,c#,datagridview,scroll,C#,Datagridview,Scroll,由于我的单元格数据足够长,我使用了下面的代码在gridview中以多行显示数据 Grid.DefaultCellStyle.WrapMode = DataGridViewTriState.True; Grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; 但是由于这个属性,gridview需要花费太多的时间来加载,因为我的数据库太大了 所以我确实喜欢 private void Form4_Load(object sender

由于我的单元格数据足够长,我使用了下面的代码在gridview中以多行显示数据

Grid.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
Grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
但是由于这个属性,gridview需要花费太多的时间来加载,因为我的数据库太大了

所以我确实喜欢

private void Form4_Load(object sender, EventArgs e)
        {
            Grid.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
            Grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
        }

private void Grid1_Scroll(object sender, ScrollEventArgs e)
        {

            Grid1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedHeaders;
            Grid1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
        }
但当我按下键盘上的“向下翻页”按钮时,它工作正常,但当我使用鼠标滚动时,加载数据需要更多的时间,gridview的滚动条显示异常

请任何人帮助我。

通过设置AutoSizeRowsMode,您可以设置网格的行为。 在Grid1\u Scroll事件中,尝试执行调整操作,而不是执行两次:

你也可以考虑下面的加载方法:

加载时,只需调整一次行即可

Grid1.AutoResizeRows(DataGridViewAutoSizeRowsMode.DisplayedCells);
private void Form4_Load(object sender, EventArgs e)
{
    Grid1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
    Grid1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
    Grid1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);
}