2010-06-24 99 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