javascript - VB.Net 中连续 4 个文本框的 gridview

标签 javascript jquery asp.net vb.net

我有一个 gridview,一行有 4 个文本框。用户在第一行的第一个文本框中输入文本。其他文本框是只读的,并根据第一个文本框的值自动填充其值。当我按“enter”或“tab”键时,文本框焦点应该转到第二行的第一个文本框。我怎样才能做到这一点?选项卡索引似乎不起作用。我在 VB.Net 中执行此操作

最佳答案

您可以使用 RoWDataBound 事件来实现此目的:-

更新:

声明一个页面级变量来保存 TabIndex:-

Dim index As Short = 0

RowDataBoundEvent:-

Protected Sub grdCustomer_RowDataBound(sender As Object, e As GridViewRowEventArgs)
    If e.Row.RowType = DataControlRowType.DataRow Then
        index += 1
        Dim txtID As TextBox = DirectCast(e.Row.FindControl("txtID"), TextBox)
        txtID.TabIndex = index
        //Other TextBox(s)
        Dim txtName As TextBox = DirectCast(e.Row.FindControl("txtName"), TextBox)
        Dim txtCity As TextBox = DirectCast(e.Row.FindControl("txtCity "), TextBox)
       txtName.TabIndex = txtCity.TabIndex = -1 //Set TabIndex of Readonly textbox to -1
    End If
End Sub

这里的txtID将是每行中第一个文本框的文本框ID,并将其他文本框TabIndex设置为-1,这样它们就永远不会获得焦点。

文本框更改事件:-

Protected Sub txtID_TextChanged(sender As Object, e As EventArgs)
   Dim txtID As TextBox = CType(sender, TextBox)
   //Logic to populate other textbox.

   Dim focusIndex As Short = CShort(txtID.TabIndex + 1)
   Dim tabbedRow = grdCustomer.Rows.OfType(Of GridViewRow) _
                              .FirstOrDefault(Function(x) (CType(x.FindControl("txtID"), TextBox)).TabIndex = focusIndex)
   If tabbedRow IsNot Nothing Then
        tabbedRow.FindControl("txtID").Focus()
   End If
End Sub

逻辑:

由于我们已按顺序设置每行中第一个文本框的 TabIndex ,因此在 textChanged 事件中,我找到 TabIndex 等于当前文本框 tabIndex + 1 的文本框,并将焦点设置在该文本框上。

关于javascript - VB.Net 中连续 4 个文本框的 gridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33054130/

相关文章:

javascript - 使用 JavaScript 数组中的数据创建 HTML 表格的最快方法是什么?

javascript - Jquery 宽度 100% 减去像素

c# - Twitter Bootstrap 按钮在 chrome 上看起来很有趣,在 FF 上是灰色的

c# - 循环访问 UserControl 的控件

javascript - 添加目标时 CSS 焦点不起作用

javascript - Gulp 4.browser-sync的问题//下面的任务没有完成 : browser-sync

javascript - 获取 LinkedIn 分享计数 JSONP

javascript - 无法传递作为 setTimeout 函数传递的匿名函数的参数

javascript - 如何在我的 javascript 中执行 anchor\href?

asp.net - 如何修复无法将类型 'System.Web.Mvc.ViewResult' 隐式转换为 'string'