如何解決DataGrid中刪除記錄後分頁錯誤

2021-09-05 14:38:59 字數 711 閱讀 3968

經常遇到這樣的問題,就是在datagrid中刪除了幾條記錄後,總頁數已經改變,但當前所在的頁並沒有變,這時很有可能出現所在頁小於總頁數的可能,於會得到乙個錯誤:當前頁數不能小於0且不能大於總頁數。

這個問題往往在設計時被忽略,而且在測試時也很容易忽略掉,因為如果只是一條一條的刪除記錄,那麼在最後一頁上只有一條記錄,以及正好刪除這條記錄的機率很小,所以可能被忽略掉。如果這樣,可以在刪除記錄的**後新增這樣語句子防止錯誤:

if(this.datagrid1.currentpageindex

>0&&

e.item.itemindex==0

)上麵條的條件正好是最後一頁只有一條且要刪除的。。。。

還有一種情況,就是在一頁中一次刪除了多條記錄,這時候就要記錄刪除的總數量,並計算總頁數以及當前頁數用來區分是否要回一頁。

private

void linkbutton1_click(

object

sender, system.eventargs e)

}if((this.datagrid1.items.count

-m_deleted)

/this.datagrid1.pagesize

<=

this.datagrid1.currentpageindex)

this.loadmessagesdata();

}其中最後兩個if就是用來判斷是否滿足條件並回滾一頁。

SqlServer中如何解決session阻塞問題

簡介 對於資料庫運維人員來說建立session或者查詢時產生問題是常規情況,下面介紹一種很有效且不借助第三方工具的方式來解決類似問題。最近開始接觸運維工作,所以自己總結一些方案便於不懂資料庫的同事解決一些不太緊要的資料庫問題。類似方法很多理論也很多,我就不做深究,就是簡單寫乙個方案,便於菜鳥使用的。...

如何解決併發

雖然從巨集觀上,處理器是並行處理多項任務,但本質上乙個處理器在某個時間點只能處理乙個任務,屬於序列執行。在單處理器的情況下,併發問題源於多道程式設計系統的乙個基本特性 程序的相對執行速度不可 它取決於其他程序的活動 作業系統處理中斷的方式以及作業系統的排程策略。在分布式環境下,併發產生的可能性就更大...

git如何解衝突 如何解決Git中的合併衝突

我發現合併工具很少能幫助我理解衝突或解決方案。我通常更成功地在文字編輯器中檢視衝突標記並使用git log作為補充。提示一我發現的最好的事情是使用 diff3 合併衝突樣式 git config merge.conflictstyle diff3 這會產生如下衝突標記 the common ance...