Now, in case of an empty datasource I can't find the way to insert the first
record. I tried to put textboxes in the EmptyDataTemplate but I found a lot
of problems in getting user's input.
The logic I'm trying to implement is:
A first gridview displays rows from a first SQL table. Selecting a row from
the first gridview, the second gridview shows related record from a second
table.
If there are no related records, how can I programmatically let the user
insert the first row?
Many Thanks.
--
bruno
What exactly problems are you getting when using EmptyDataTemplate?
You may take a look at
http://geekswithblogs.net/casualjim/archive/2006/05/04/77151.aspx for a
working example on how to use this feature.
Please tell me what do you think of this solution, I would be glad to
continue work with you if you need anything else.
Sincerely,
Walter Wang (waw...@online.microsoft.com, remove 'online.')
Microsoft Online Community Support
==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications. If you are using Outlook Express, please make sure you clear the
check box "Tools/Options/Read: Get 300 headers at a time" to see your reply
promptly.
Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
The problem I found in using EmptyDataTemplate is how to access labels and
textboxes in that section, like I do in FooterRowTemplate.
Thank you.
--
bruno
Just use GridView1.Controls(0).Controls(0). Following is the complete code
listing of VB.NET equivalent of the example:
Imports System.Data
Partial Class Default3
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim dt As New DataTable
Dim dc As New DataColumn("Name")
dt.Columns.Add(dc)
Dim dr As DataRow = dt.NewRow()
dr("Name") = "Ivan"
GridView1.DataSource = dt
GridView1.DataBind()
End If
RecurseControls(GridView1.Controls(0).Controls)
Label1.Text += GridView1.Controls(0).Controls(0).GetType().Name +
"<br />"
End Sub
Sub RecurseControls(ByVal ctls As ControlCollection)
For Each ctl As Control In ctls
If Not ctl.HasControls() Then
Label1.Text += ctl.ClientID + " " + ctl.GetType().Name +
"<br />"
Else
RecurseControls(ctl.Controls)
End If
Next
End Sub
Protected Sub GridView1_RowCommand1(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewCommandEventArgs) Handles
GridView1.RowCommand
If e.CommandName = "EmptyInsert" Then
Dim tbEmptyInsert As TextBox =
GridView1.Controls(0).Controls(0).FindControl("tbEmptyInsert")
Label1.Text = String.Format("You would have inserted the name:
<b>{0}</b> from the emptydatatemplate", tbEmptyInsert.Text)
End If
If e.CommandName = "Insert" Then
Dim tbInsert As TextBox =
GridView1.FooterRow.FindControl("tbInsert")
Label1.Text = String.Format("You would have inserted the name:
<b>{0}</b> from the footerrow", tbInsert.Text)
End If
End Sub
End Class
I hope this helps. Please feel free to post here if anything is unclear.
Regards,
Walter Wang (waw...@online.microsoft.com, remove 'online.')
Microsoft Online Community Support
==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.