2010-07-22 35 views
0

我有一個telerik radgrid,它有一個允許插入。點擊「添加新記錄」按鈕後,文本框將顯示幾個按鈕。一個用於插入,一個用於取消。我希望頁面焦點位於插入按鈕上,因此當用戶單擊輸入按鈕時,插入按鈕具有焦點。telerik radgrid - 點擊添加新記錄按鈕添加記錄後,如何將頁面焦點設置爲插入按鈕

有誰知道如何做到這一點?

+1

您或您的公司正在向Telerik支付支持費用。我建議你使用它:-)獲得答案的機會多得多,他們的支持非常好。 – 2010-07-22 15:39:39

回答

1

這不是測試,但我相信你會做它的ItemCreated事件:

Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) 
    If TypeOf e.Item Is GridCommandItem Then 

     Dim myButton As LinkButton = TryCast(e.Item.FindControl("myButtonID"), LinkButton) 
     myButton.Focus() 
    End If 
End Sub 
+0

另外,如果它不是ItemCreated事件,那麼它可能是ItemDataBound – Markive 2010-07-22 15:51:45

0

從概念上講,它應該是可能的。

「添加新記錄」按鈕導致從我的回憶中回傳。在該回傳中,鉤入RadGrid的相應事件並注入JavaScript以聚焦按鈕。

如果您通過模板定義編輯表單,您也可以通過在包裝編輯器控件的面板上使用DefaultButton屬性來避開它。

我也同意Claudio對Telerik的支持很好。你可能想從他們開始,因爲他們可能會給你一個完成你的任務的完整代碼示例。

0

我找到了答案,這是幾乎像什麼Markive了,這裏是C#版本,我使用的是ImageButton而不是LinkBut​​ton:

 protected void gvApplications_ItemDataBound(object sender, GridItemEventArgs e) 
    { 
     //when a user clicks the "Add New" button, 
     //this code puts focus on the Insert button so when the enter key is clicked, the action occurs 
     if (e.Item is GridEditFormInsertItem && e.Item.OwnerTableView.IsItemInserted) 
     { 
      GridEditFormInsertItem insertItem = (GridEditFormInsertItem)e.Item; 
      ImageButton btnInsert = (ImageButton)insertItem.FindControl("PerformInsertButton"); 
      btnInsert.Focus(); 
     } 
    }