2010-06-24 58 views

回答

1

我不确定是否SuspendLayout/ResumeLayout会对此有所帮助。这是真正的控制布局,但可能值得尝试,因为它快速简单。

否则,能够控制它的方法是使其变为虚拟(将VirtualMode设置为true)。 How to: Implement Virtual Mode in the Windows Forms DataGridView Control

而这里的一步步演练:Implementing Virtual Mode in the Windows Forms DataGridView Control

+0

你实际上已经成功地接近了我的具体问题。如果您使用虚拟模式,您会注意到,每当设置RowCount(并将行添加到网格中或从网格中删除行)时,当前可见的单元格都会重新绘制。这是我想在特定条件下避免的行为。 我假设由于行被添加/删除导致网格失效,导致所有可见单元格也失效。 – demius 2010-06-28 06:39:57

0

如果放在一个更新面板电网将重新绘制,但没有屏幕刷新。

 <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> 
+0

这应该是一个评论,或者说明如何将网格放入更新面板中的代码示例。 – 2016-11-10 22:01:07

+0

@ KH1229请详细说明您的答案。 – kenorb 2016-11-11 12:30:36