2012-08-09 69 views
0

在我的應用我使用的是GridView,我通過下面的代碼添加點擊數屬性到GridView ..Asp.Net的GridView沒有得到禁用

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) 


    If e.Row.RowType = DataControlRowType.DataRow Then 
     e.Row.Attributes("onclick") = Page.ClientScript.GetPostBackClientHyperlink(GridView1, "Select$" & e.Row.RowIndex.ToString()) 
    End If 

當有人在網格視圖中選擇一行,我希望GridView被禁用,除非用戶按下按鈕,否則不允許任何其他選擇。我試着用

GridView1.Enabled = false

但還是用戶能夠選擇一行。

我該如何禁用GridView Selection

+0

你能展示你執行的代碼來禁用網格嗎?那是服務器端?你可以調試,看看它是否被調用? – 2012-08-09 09:32:31

+0

試試這個,把網格放在一個''中並禁用面板。 – 2012-08-09 09:32:34

+0

@DavidePiras我從服務器端調用它,代碼被調用。 – Mako 2012-08-09 12:30:35

回答

0

由於您正在通過上述代碼選擇一行,因此最簡單的修復方法是檢查行數據綁定事件中選定索引是否不等於-1(表示行已被選中)。

If GridView1.SelectedIndex = -1 Then 
    If e.Row.RowType = DataControlRowType.DataRow Then 
     e.Row.Attributes("onclick") = Page.ClientScript.GetPostBackClientHyperlink(GridView1, "Select$" + e.Row.RowIndex.ToString()) 
    End If 
End If 

,並重新連接上一個按鈕,你可以設置selectedIndex爲-1,並重新綁定在按鈕單擊事件在GridView的點擊選擇的代碼。