【问题标题】:telerik radgrid - how do I set the page focus to the insert button after clicking the add new record button to add a recordtelerik radgrid - 单击添加新记录按钮以添加记录后,如何将页面焦点设置为插入按钮
【发布时间】:2010-07-22 15:31:56
【问题描述】:

我有一个允许插入的 Telerik radgrid。单击“添加新记录”按钮后,会出现带有几个按钮的文本框。一个用于插入,一个用于取消。我希望页面焦点位于插入按钮上,因此当用户单击输入按钮时,插入按钮具有焦点。

有人知道怎么做吗?

【问题讨论】:

  • 您或您的公司正在向 Telerik 支付支持费用。我建议您使用它:-) 获得答案的机会更多,他们的支持非常好。

标签: c# .net asp.net telerik


【解决方案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

【讨论】:

  • 另外,如果不是 ItemCreated 事件,那么它可能是 ItemDataBound
【解决方案2】:

从概念上讲,应该是可能的。

根据我的回忆,添加新记录按钮会导致回发。在该回发中,挂钩 RadGrid 的相应事件并注入 javascript 以聚焦按钮。

如果您通过模板定义编辑表单,您也可以通过在包含编辑器控件的面板上使用DefaultButton 属性来摆脱它。

我也同意 Claudio 的观点,即 Telerik 支持很棒。您可能希望从它们开始,因为它们可能会为您提供完成任务的完整代码示例。

【讨论】:

    【解决方案3】:

    我找到了答案,它几乎就像 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();
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2014-05-15
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      相关资源
      最近更新 更多