Iets wat hier op aansluit.
Hoe geef je een control in een datagrid (in dit geval een textbox) de focus als er een bepaalde actie
buiten de datagrid plaatsvindt. Met deze code werkt het niet omdat het buiten de datagrid plaatsvindt:
Visual Basic .NET:
1
| e.item.cells(2).control(1) |
Het lukt me al wel als ik de EditCommand van de datagrid aanspreek door op 'Edit' in de Editcolumn te klikken:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| 'Verzorgt via javascriptje het verkrijgen van de focus en het vervolgens
'selecteren van text in de textbox.
Private Sub SelectText(ByVal ctrl As Control)
Dim focusScript As String = "<script language='javascript'>" & _
"document.getElementById('" + ctrl.ClientID & _
"').focus();document.getElementById('" + ctrl.ClientID & _
"').select();</script>"
Page.RegisterStartupScript("FocusScript", focusScript)
End Sub
Private Sub dgOrderRegels_EditCommand(ByVal source As Object, _
ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) _
Handles dgOrderRegels.EditCommand
daOrderRegels.SelectCommand.CommandText = "SELECT * FROM " & _
"OrderRegels WHERE OrderID = '" & txtOrderID.Text & "'"
daOrderRegels.Fill(DsOrderRegels1)
dgOrderRegels.EditItemIndex = e.Item.ItemIndex
dgOrderRegels.DataBind()
Dim ctrAantal As Control = e.Item.Cells(2).Controls(1)
ctrAantal.ID = "txtAantal"
SelectText(ctrAantal)
End Sub |
Hoe krijg ik dit voor elkaar van buiten de datagrid?