2010-09-02 65 views
0

Im實現custrom刪除通過添加到我的ASPxGridView GridViewColumnCustomButton。ASPxGridView customCommandColumnButton

然後在我的GridView我處理ClientSideEvent

<ClientSideEvents CustomButtonClick="function(s, e) { customButton_OnClick(s, e); }" /> 

JS:

function customButton_OnClick(s, e) { 
     if (e.buttonID == "customButtonId") { 
      e.processOnServer = confirm("Really want to delete?"); 
     } 
    } 

香港專業教育學院也加入到我的網格:

OnCustomButtonCallback="GvMyGridViews_OnCustomCallback" 
現在

在服務器端我用戶的LINQ to刪除指定的行,然後將更改提交到我的DataContext,然後在我的網格上提交DataBind()。

問題是,有時標準的ASPxGridView加載面板顯示大約1秒螞蟻,然後我的行消散,所以它的行爲正常,但有時加載面板停止mooving。我需要將鼠標移到我的網格上或單擊按鈕,以便更新我的網格(行消失)。

你有什麼想法,問題在哪裏? 感謝您的幫助

回答

1

這很難回答你的問題。當您調用網格的DataBind方法時,請嘗試確定該行是否實際從數據庫中刪除。另外,我懷疑ASPxGridView綁定到LinqDataSource對象。如果是這樣,我建議你記錄它返回的數據,並檢查列表中是否有刪除的行。這是可能的,因爲這個組件可以緩存數據並返回一個無效的記錄集。要確定哪些數據是由使用LinqDataSource返回,您可以使用代碼

http://forums.asp.net/p/1583916/3998100.aspx

+0

問題是,當我點擊該網站或只是將鼠標移動到網格上時,loadPanel消失並且網格顯示正確。正如我所說的那樣,它不是確定性的,有時候網格的表現很好,有時甚至不好。 – gruber 2010-09-03 00:17:29

+0

您是否在您的特定機器上看到這種行爲,或者它在不同的機器上可以重現?你在哪個瀏覽器中看到了這種行爲? – 2010-09-03 07:10:08

+0

是它的可重複性,我試着在Firefox和IE中,當我打斷點時有什麼有趣的在Load_Page結束時,然後恢復應用程序加載面板正常工作,網格刷新。 – gruber 2010-09-03 08:13:02

0

確保在刪除記錄在您設置,然後將DataSource重新綁定網格您custombuttoncallback處理程序結束。如果你只是調用DataBind()而不設置數據源,它將無法正常工作。 IE瀏覽器。

aspxGrid.DataSource = updatedDataSourceAfterTheDelete; 
    aspxGrid.DataBind();