[.NET] gridview+ods 最後頁最後行 編輯時消失

作者: ian90911 (xopowo)   2014-08-29 13:38:15
請輸入專案類型(網站專案或者應用程式專案):
web form
問題:
這裡有一個grid view,使用object data source做分頁降低資料傳輸量
使用者反應某個條件下在最後一頁最後一行按下編輯時,
(link button, command name="Edit")
該行會消失,連帶bottom pager也不見
但其他條件下查的時候,最後一頁最後一行按編輯不會有此現象
嘗試1:該行資料有誤,編輯時data bind錯誤造成下面消失
但是debugger並沒報錯...
透過搜尋該列SID,再按編輯,該資料列也無誤可正常呈現編輯狀態
嘗試2:找出觸發事件,塞一個LOG,查看那些事件有問題
結果原本有寫的事件,按下編輯時,只有gv_PreRender有觸發
觀察其他正常資料列,在按下編輯紐時會觸發那些事件
gv_DataBinding
gv_DataBound
gv_PreRender
gv_RowCommand
而反過來觀察有問題的這個資料列的編輯紐
順便試著把其他沒實作的事件也塞LOG觀察
gv_DataBinding
gv_DataBound
gv_PageIndexChanged
gv_PageIndexChanging
gv_RowCommand
gv_SelectedIndexChanging
gv_SelectedIndexChanged
全部沒反應
嘗試3:該狀況下ODS是否有正常回傳ROW
狀況發生在該條件的第3頁第13行(一頁20行)
SQL的確是下了
Where ROWNUMBER Between 41 and 60
觀察倒數第二行ROW INDEX,的確是11 (第12行,index-1=11)
但是第13行時,雖然我在PreRender事件裡下了這樣的條件:
if (gv.EditIndex > -1)
{
myLog("edit index=" + gv.EditIndex);
}
不過並不向其他正常的資料行,這裡沒有被觸發
所以可以發現該編輯紐無法讓edit index變動...
不曉得還有什麼地方要檢查,該如何做呢?
作者: ian90911 (xopowo)   2014-08-29 13:58:00
自己解決了... ods的count sql漏寫一個條件 多報了一行

Links booklink

Contact Us: admin [ a t ] ucptt.com