C# WinForms DataGridView重新绘制问题

C# WinForms DataGridView重新绘制问题,c#,winforms,datagridview,C#,Winforms,Datagridview,当添加新行时,如何阻止DataGridView重新绘制整个网格? 可以这样做吗?我不确定SuspendLayout/ResumeLayout是否有帮助。这确实是为了控制布局,但可能值得尝试,因为它的快速和简单 否则,控制这种情况的方法是使其虚拟化(将VirtualMode设置为true) 这里有一个逐步的演练:我不确定SuspendLayout/ResumeLayout是否有帮助。这确实是为了控制布局,但可能值得尝试,因为它的快速和简单 否则,控制这种情况的方法是使其虚拟化(将VirtualMo

当添加新行时,如何阻止DataGridView重新绘制整个网格?
可以这样做吗?

我不确定
SuspendLayout
/
ResumeLayout
是否有帮助。这确实是为了控制布局,但可能值得尝试,因为它的快速和简单

否则,控制这种情况的方法是使其虚拟化(将
VirtualMode
设置为true)


这里有一个逐步的演练:

我不确定
SuspendLayout
/
ResumeLayout
是否有帮助。这确实是为了控制布局,但可能值得尝试,因为它的快速和简单

否则,控制这种情况的方法是使其虚拟化(将
VirtualMode
设置为true)


这里有一个逐步的演练:

如果将网格放置在更新面板中,它将重新绘制,但不会刷新屏幕

     <asp:ScriptManager runat="server" ID="ScriptManager1" >
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:DataGrid ID="DataGrid1" runat="server">
                <Columns>
                    <asp:BoundColumn HeaderText="SomeColumn1" DataField="SomeColumn1" />
                    <asp:BoundColumn HeaderText="SomeColumn2" DataField="SomeColumn2" />
                    <asp:BoundColumn HeaderText="SomeColumn3" DataField="SomeColumn3" />
                </Columns>
            </asp:DataGrid>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="DataGrid1" />
        </Triggers>
     </asp:UpdatePanel>

如果将网格放置在更新面板中,它将重新绘制,但不会刷新屏幕

     <asp:ScriptManager runat="server" ID="ScriptManager1" >
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:DataGrid ID="DataGrid1" runat="server">
                <Columns>
                    <asp:BoundColumn HeaderText="SomeColumn1" DataField="SomeColumn1" />
                    <asp:BoundColumn HeaderText="SomeColumn2" DataField="SomeColumn2" />
                    <asp:BoundColumn HeaderText="SomeColumn3" DataField="SomeColumn3" />
                </Columns>
            </asp:DataGrid>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="DataGrid1" />
        </Triggers>
     </asp:UpdatePanel>


实际上,您已经成功地接近了我的具体问题。如果使用虚拟模式,您会注意到,每当设置行数(以及从网格中添加/删除行)时,当前可见的单元格都会重新绘制。在某些情况下,我希望避免这种行为。我假设网格由于添加/删除行而失效,导致所有可见单元格也失效。实际上,您已经成功地解决了我的具体问题。如果使用虚拟模式,您会注意到,每当设置行数(以及从网格中添加/删除行)时,当前可见的单元格都会重新绘制。在某些情况下,我希望避免这种行为。我假设网格由于添加/删除行而失效,导致所有可见单元格也失效。这应该是一条注释,或者解释如何将网格放入带有代码示例的更新面板中。@KH1229请详细说明您的答案。这应该是一条注释,或者解释如何使用代码示例将网格放入更新面板。@KH1229请详细说明您的答案。