By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,313 Members | 1,092 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,313 IT Pros & Developers. It's quick & easy.

Can't edit dynamically created textbox

P: n/a
Hi All,

I've dynmaically created a textbox, but I can't edit it. When I click on
it, the cursor flashes for a second, but then goes away and I can't enter any
text or do anything with the value in the box.

Here's the code I've used to create the control. It's within a datagrid
that is bound to a dataTable so the action happens in the ItemDataBound event.

Private Sub dgItems_ItemDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgItems.ItemDataBound
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType =
ListItemType.AlternatingItem Then
Dim dtItems As New DataTable
dtItems = CType(Session("ItemsDT"), DataTable)

'this is what I can't edit
Dim txtQty As New TextBox
Page.Controls.Add(txtQty)
e.Item.Cells(0).Controls.Add(txtQty)
txtQty.ID = "txtQty" & e.Item.ItemIndex
txtQty.EnableViewState = True
txtQty.Text = dtItems.Rows(e.Item.DataSetIndex)(0)
txtQty.Width = WebControls.Unit.Pixel(30)

Dim lblDesc As New Label
lblDesc.EnableViewState = True
lblDesc.Text = dtItems.Rows(e.Item.DataSetIndex)(1)
e.Item.Cells(1).Controls.Add(lblDesc)

Dim lblUnitPrice As New Label
lblUnitPrice.EnableViewState = True
lblUnitPrice.Text = dtItems.Rows(e.Item.DataSetIndex)(2)
e.Item.Cells(2).Controls.Add(lblUnitPrice)

End If
End Sub

Thanks.
Nov 19 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
I figured out what was causing it. In the body tag of the page it had
onblur="self.focus();".

So, now I can edit the textbox, but as per my directive from above, the page
is a popup window and needs to stay on top and that's the code that was doing
that.

Can anyone think of any alternative ways of making that happen?
"mwhalen" wrote:
Hi All,

I've dynmaically created a textbox, but I can't edit it. When I click on
it, the cursor flashes for a second, but then goes away and I can't enter any
text or do anything with the value in the box.

Here's the code I've used to create the control. It's within a datagrid
that is bound to a dataTable so the action happens in the ItemDataBound event.

Private Sub dgItems_ItemDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgItems.ItemDataBound
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType =
ListItemType.AlternatingItem Then
Dim dtItems As New DataTable
dtItems = CType(Session("ItemsDT"), DataTable)

'this is what I can't edit
Dim txtQty As New TextBox
Page.Controls.Add(txtQty)
e.Item.Cells(0).Controls.Add(txtQty)
txtQty.ID = "txtQty" & e.Item.ItemIndex
txtQty.EnableViewState = True
txtQty.Text = dtItems.Rows(e.Item.DataSetIndex)(0)
txtQty.Width = WebControls.Unit.Pixel(30)

Dim lblDesc As New Label
lblDesc.EnableViewState = True
lblDesc.Text = dtItems.Rows(e.Item.DataSetIndex)(1)
e.Item.Cells(1).Controls.Add(lblDesc)

Dim lblUnitPrice As New Label
lblUnitPrice.EnableViewState = True
lblUnitPrice.Text = dtItems.Rows(e.Item.DataSetIndex)(2)
e.Item.Cells(2).Controls.Add(lblUnitPrice)

End If
End Sub

Thanks.

Nov 19 '05 #2

P: n/a
I believe there is a way in javascript to open a new window as a modal
dialog, meaning that you can't push it behind the parent window or interact
with the parent window until the dialog is closed.

"mwhalen" <mw*****@discussions.microsoft.com> wrote in message
news:D0**********************************@microsof t.com...
I figured out what was causing it. In the body tag of the page it had
onblur="self.focus();".

So, now I can edit the textbox, but as per my directive from above, the page is a popup window and needs to stay on top and that's the code that was doing that.

Can anyone think of any alternative ways of making that happen?
"mwhalen" wrote:
Hi All,

I've dynmaically created a textbox, but I can't edit it. When I click on it, the cursor flashes for a second, but then goes away and I can't enter any text or do anything with the value in the box.

Here's the code I've used to create the control. It's within a datagrid
that is bound to a dataTable so the action happens in the ItemDataBound event.
Private Sub dgItems_ItemDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgItems.ItemDataBound If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType =
ListItemType.AlternatingItem Then
Dim dtItems As New DataTable
dtItems = CType(Session("ItemsDT"), DataTable)

'this is what I can't edit
Dim txtQty As New TextBox
Page.Controls.Add(txtQty)
e.Item.Cells(0).Controls.Add(txtQty)
txtQty.ID = "txtQty" & e.Item.ItemIndex
txtQty.EnableViewState = True
txtQty.Text = dtItems.Rows(e.Item.DataSetIndex)(0)
txtQty.Width = WebControls.Unit.Pixel(30)

Dim lblDesc As New Label
lblDesc.EnableViewState = True
lblDesc.Text = dtItems.Rows(e.Item.DataSetIndex)(1)
e.Item.Cells(1).Controls.Add(lblDesc)

Dim lblUnitPrice As New Label
lblUnitPrice.EnableViewState = True
lblUnitPrice.Text = dtItems.Rows(e.Item.DataSetIndex)(2)
e.Item.Cells(2).Controls.Add(lblUnitPrice)

End If
End Sub

Thanks.

Nov 19 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.