I am having a problem with a dynamically-generated Datagrid. It is
important to point out that this problem does not exist with a
design-time created Datagrid, but only with a dynamically generated
Datagrid in a Web Custom Control (WCC) :
The datagrid has LinkButton Column which has a select LinkButton for
each row. When this button is clicked, the Datagrid raises its
'ItemCommand' event which captures the information for that row and
sends it to a event handler method. The problem is that this method is
never getting called. It seems logical to assume that there is
something wrong with the event-wiring of the datagrid. The signature
of the event-handler is:
Private Sub DataGrid1_SelectedIndexChanged(ByVal source As Object,
ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles
dg.ItemCommand
(dg is the name of the datagrid). The 'Handles' keyword in VB.Net is
supposed to wire the event to the handler but that is not happening.
So I tried to manually add the handler to the event with the following
line of code in the CreateChildControls method of the WCC using the
line:
AddHandler dg.ItemCommand, AddressOf Me.DataGrid1_SelectedIndexChanged
That does not work either. The datagrid loads up just fine, and on
selecting a row it does a PostBack and hits the OnLoad event but never
hits the event-handler method.
Why is this event not being wired to the handler? Or might there be
some other problem?
Thanks in advance for any help.
BZ 4 2096
Please don't crosspost, this post has no business in these forums as it has nothing to do with VB or VB's controls.
microsoft.public.dotnet.languages.vb,
microsoft.public.dotnet.languages.vb.controls
I'll be nice though and answer your question, you haven't re-instantiated your datagrid in page_load of the postbacked page, and given it the same ID as the previous page had.
"The Alchemist" <al*******@lycos.com> wrote in message news:ee**************************@posting.google.c om... I am having a problem with a dynamically-generated Datagrid. It is important to point out that this problem does not exist with a design-time created Datagrid, but only with a dynamically generated Datagrid in a Web Custom Control (WCC) : The datagrid has LinkButton Column which has a select LinkButton for each row. When this button is clicked, the Datagrid raises its 'ItemCommand' event which captures the information for that row and sends it to a event handler method. The problem is that this method is never getting called. It seems logical to assume that there is something wrong with the event-wiring of the datagrid. The signature of the event-handler is: Private Sub DataGrid1_SelectedIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles dg.ItemCommand (dg is the name of the datagrid). The 'Handles' keyword in VB.Net is supposed to wire the event to the handler but that is not happening. So I tried to manually add the handler to the event with the following line of code in the CreateChildControls method of the WCC using the line: AddHandler dg.ItemCommand, AddressOf Me.DataGrid1_SelectedIndexChanged That does not work either. The datagrid loads up just fine, and on selecting a row it does a PostBack and hits the OnLoad event but never hits the event-handler method. Why is this event not being wired to the handler? Or might there be some other problem? Thanks in advance for any help. BZ
"Raterus" <ra*****@spam.org> wrote in message news:<u#**************@tk2msftngp13.phx.gbl>... Please don't crosspost, this post has no business in these forums as it has nothing to do with VB or VB's controls.
microsoft.public.dotnet.languages.vb, microsoft.public.dotnet.languages.vb.controls
This control is written in VB.Net, how can it not be relevant to these
groups? I'll be nice though and answer your question, you haven't re-instantiated your datagrid in page load of the postbacked page, and given it the same ID as the previous page had.
Yes I did and it does not not work.
I am posting the code below, any help would be MUCH appreciated.
Imports System.ComponentModel
Imports System.Web.UI
Imports System.web.UI.WebControls
<DefaultProperty("Text"), ToolboxData("<{0}:WebCustomControl1
runat=server></{0}:WebCustomControl1>")> Public Class
WebCustomControl1
Inherits System.Web.UI.WebControls.WebControl
Protected WithEvents dg As DataGrid
Protected Overrides Sub Render(ByVal output As
System.Web.UI.HtmlTextWriter)
Dim DataTable As New DataTable
Dim col As New DataColumn
col.ColumnName = "Last Name"
DataTable.Columns.Add(col)
Dim col2 As New DataColumn
col2.ColumnName = "First Name"
DataTable.Columns.Add(col2)
Dim col3 As New DataColumn
col3.ColumnName = "Level"
DataTable.Columns.Add(col3)
Dim selectColumn As New ButtonColumn
selectColumn.ButtonType = ButtonColumnType.LinkButton
selectColumn.CommandName = "select"
selectColumn.Text = "select"
dg.Columns.Add(selectColumn)
Dim row As DataRow
row = DataTable.NewRow
row.Item(0) = "Smith"
row.Item(1) = "John"
row.Item(2) = "Level 1"
DataTable.Rows.Add(row)
row = DataTable.NewRow
row.Item(0) = "Jones"
row.Item(1) = "Mary"
row.Item(2) = "Level 2"
DataTable.Rows.Add(row)
dg.DataSource = DataTable
dg.DataBind()
dg.RenderControl(output)
End Sub
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
dg = New DataGrid
dg.BackColor = System.Drawing.Color.Red
dg.ID = "testID"
'I tried the following line instead of using the handles
keyword and that didnt work either:
'AddHandler dg.ItemCommand, AddressOf
Me.DataGrid1_SelectedIndexChanged
Controls.Add(dg)
End Sub
'Public Sub bz()
Private Sub DataGrid1_SelectedIndexChanged(ByVal source As Object,
ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles
dg.ItemCommand
Debug.WriteLine("The event handler has been called.")
End Sub
End Class "The Alchemist" <al*******@lycos.com> wrote in message news:ee**************************@posting.google.c om... I am having a problem with a dynamically-generated Datagrid. It is important to point out that this problem does not exist with a design-time created Datagrid, but only with a dynamically generated Datagrid in a Web Custom Control (WCC) :
The datagrid has LinkButton Column which has a select LinkButton for each row. When this button is clicked, the Datagrid raises its 'ItemCommand' event which captures the information for that row and sends it to a event handler method. The problem is that this method is never getting called. It seems logical to assume that there is something wrong with the event-wiring of the datagrid. The signature of the event-handler is:
Private Sub DataGrid1 SelectedIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles dg.ItemCommand
(dg is the name of the datagrid). The 'Handles' keyword in VB.Net is supposed to wire the event to the handler but that is not happening. So I tried to manually add the handler to the event with the following line of code in the CreateChildControls method of the WCC using the line:
AddHandler dg.ItemCommand, AddressOf Me.DataGrid1 SelectedIndexChanged
That does not work either. The datagrid loads up just fine, and on selecting a row it does a PostBack and hits the OnLoad event but never hits the event-handler method.
Why is this event not being wired to the handler? Or might there be some other problem?
Thanks in advance for any help. BZ
"The Alchemist" <al*******@lycos.com> wrote in message
news:ee*************************@posting.google.co m... "Raterus" <ra*****@spam.org> wrote in message
news:<u#**************@tk2msftngp13.phx.gbl>... I'll be nice though and answer your question, you haven't re-instantiated your datagrid in page load of the postbacked page, and given it the same ID as the previous page had.
Yes I did and it does not not work.
I am posting the code below, any help would be MUCH appreciated.
Imports System.ComponentModel Imports System.Web.UI Imports System.web.UI.WebControls
<DefaultProperty("Text"), ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")> Public Class WebCustomControl1 Inherits System.Web.UI.WebControls.WebControl
Protected WithEvents dg As DataGrid Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
dg = New DataGrid dg.BackColor = System.Drawing.Color.Red dg.ID = "testID" 'I tried the following line instead of using the handles keyword and that didnt work either: 'AddHandler dg.ItemCommand, AddressOf Me.DataGrid1_SelectedIndexChanged Controls.Add(dg)
End Sub
How about MyBase.OnLoad(e)
--
John Saunders
johnwsaundersiii at hotmail
Hi,
I am experiencing the same problem as you are.
Have you got any solution?
"The Alchemist" <al*******@lycos.com> wrote in message
news:ee**************************@posting.google.c om... I am having a problem with a dynamically-generated Datagrid. It is important to point out that this problem does not exist with a design-time created Datagrid, but only with a dynamically generated Datagrid in a Web Custom Control (WCC) :
The datagrid has LinkButton Column which has a select LinkButton for each row. When this button is clicked, the Datagrid raises its 'ItemCommand' event which captures the information for that row and sends it to a event handler method. The problem is that this method is never getting called. It seems logical to assume that there is something wrong with the event-wiring of the datagrid. The signature of the event-handler is:
Private Sub DataGrid1_SelectedIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles dg.ItemCommand
(dg is the name of the datagrid). The 'Handles' keyword in VB.Net is supposed to wire the event to the handler but that is not happening. So I tried to manually add the handler to the event with the following line of code in the CreateChildControls method of the WCC using the line:
AddHandler dg.ItemCommand, AddressOf Me.DataGrid1_SelectedIndexChanged
That does not work either. The datagrid loads up just fine, and on selecting a row it does a PostBack and hits the OnLoad event but never hits the event-handler method.
Why is this event not being wired to the handler? Or might there be some other problem?
Thanks in advance for any help. BZ This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: SammyBar |
last post by:
Hi,
I'm trying to bind a custom collection class to a data grid, following the
guidelines from the article
http://msdn.microsoft.com/msdnmag/issues/05/08/CollectionsandDataBinding/default.aspx....
|
by: Sam |
last post by:
Hi,
I have a class that receives a DataGrid control and populates it. However, I
need to do an OnItemCreated event because if I'm missing data in a certain
column, I display a HyperLink control...
|
by: philipl |
last post by:
hi,
i have a datagrid which display custom controls when user clicks edit,
changing data. I am using customvalidator to validate this control. I
can get validation of user input to work no...
|
by: Girish |
last post by:
OK.. phew. Playing with data grids for the past few days has been fun and a
huge learning experience..
My problem. I have a requirement to display a gird with a gird. Within the
embedded grid,...
|
by: Sam Samnah |
last post by:
Hi Everyone.
It has been a long time since my last post. Nevertheless, I have built a
custom server control that allows a user to edit text, bolding, italics
strike though table insertion and...
|
by: Sridhar |
last post by:
Hi,
I have created a web page which includes a place holder. I also have a
dropdown list in that webpage. when I select one of the choices in that
dropdown list, It will load a user control...
|
by: The Alchemist |
last post by:
I am having a problem with a dynamically-generated Datagrid. It is
important to point out that this problem does not exist with a
design-time created Datagrid, but only with a dynamically generated...
|
by: hyperpau |
last post by:
Before anything else, I am not a very technical expert when it comes to VBA coding.
I learned most of what I know by the excellent Access/VBA forum from bytes.com (formerly thescripts.com).
Ergo, I...
|
by: hyperpau |
last post by:
Before anything else, I am not a very technical expert when it comes to VBA coding.
I learned most of what I know by the excellent Access/VBA forum from bytes.com (formerly thescripts.com).
Ergo, I...
|
by: taylorcarr |
last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
| |