470,612 Members | 2,362 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,612 developers. It's quick & easy.

Adding to a Bound DataGrid: What the @#$!% am I doing wrong!

I cannot a row to this bound DataGrid to SAVE MY LIFE! I have tried
everything and I am at a loss. The using goes into add mode with the add
button adds his data then updates with the update button, seems simple.
I am using ALL visual controls (supposedly to simplify things. If I was not
using the visual controls and calling an ExecuteNonQuery no prob.
Please look at my code and tell me what I am doing wrong. Also, what are the
advatages and disadvantages of using the visual controls and typed Datasets.
THANKS SO MUCH!!!!
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If IsPostBack Then
If Not (Request.Form("btnAdd") Is Nothing) Then
Add()
End If
Else
BindGrid()
End If
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
End Sub

Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnUpdate.Click
Update()
End Sub

' Bind the database to the table
Private Sub BindGrid()
vdaPasswords.Fill(dsPasswords1)

If Session("dsPasswords") Is Nothing Then
Session("dsPasswords") = dsPasswords1
End If

DataGrid1.DataSource = dsPasswords1
DataGrid1.DataBind()

End Sub

' The "Add" sub
Private Sub Add()

Dim dr As dsPasswords.PasswordsRow

If dsPasswords1 Is Nothing Then
dsPasswords1 = Session("dsPasswords")
End If

dr = dsPasswords1.Tables("Passwords").NewRow()
dr("NUMBER") = 80
dr("USERNAME") = "SDASD"
dsPasswords1.Tables("Passwords").Rows.InsertAt(dr, 0)
DataGrid1.EditItemIndex = 0
BindGrid()

End Sub

' User clicked "update".
Sub Update()
' Either insert a new row or update the existing row here,
' depending on whether adding or not.
DataGrid1.EditItemIndex = -1
BindGrid()
End Sub


Nov 17 '05 #1
2 2551
Hi Aaron,

I have checked your code carefully, and found that the problem should be
vdaPasswords. In BindGrid, dsPasswords1 is filled again, so the new datarow
lost. Please see my comments below:
Private Sub Add()

Dim dr As dsPasswords.PasswordsRow

If dsPasswords1 Is Nothing Then
dsPasswords1 = Session("dsPasswords")
End If

dr = dsPasswords1.Tables("Passwords").NewRow()
dr("NUMBER") = 80
dr("USERNAME") = "SDASD"
dsPasswords1.Tables("Passwords").Rows.InsertAt(dr, 0) //**** Once
you click Add button, a datarow was inserted into the dsPasswords1
DataGrid1.EditItemIndex = 0
BindGrid()//****Then call BindGrid

End Sub

Private Sub BindGrid()
vdaPasswords.Fill(dsPasswords1)//****But here, dsPasswords1 is filled
again, so the new datarow lost.

If Session("dsPasswords") Is Nothing Then
Session("dsPasswords") = dsPasswords1
End If

DataGrid1.DataSource = dsPasswords1
DataGrid1.DataBind()

End Sub

So you should update vdaPasswords after you add a new datarow to
dsPasswords1.

Please check these articles for more information:
Updating the Database with a DataAdapter and the DataSet
http://msdn.microsoft.com/library/de...us/cpguide/htm
l/cpconupdatingdatabasewithdataadapterdataset.asp

Working with a Typed DataSet
http://msdn.microsoft.com/library/de...us/cpguide/htm
l/cpconworkingwithtypeddataset.asp
Hope this helps.

Best Regards,
Lewis Wang

This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
| From: "Aaron Ackerman" <no@spam.com>
| Subject: Adding to a Bound DataGrid: What the @#$!% am I doing wrong!
| Date: Wed, 23 Jul 2003 12:40:21 -0400
| Lines: 76
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
| Message-ID: <eN**************@TK2MSFTNGP11.phx.gbl>
| Newsgroups: microsoft.public.dotnet.framework.aspnet
| NNTP-Posting-Host: ric-64-83-27-134-serial-sta.t1.cavtel.net 64.83.27.134
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTN GP11.phx.gbl
| Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework.aspnet:161436
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
|
| I cannot a row to this bound DataGrid to SAVE MY LIFE! I have tried
| everything and I am at a loss. The using goes into add mode with the add
| button adds his data then updates with the update button, seems simple.
| I am using ALL visual controls (supposedly to simplify things. If I was
not
| using the visual controls and calling an ExecuteNonQuery no prob.
| Please look at my code and tell me what I am doing wrong. Also, what are
the
| advatages and disadvantages of using the visual controls and typed
Datasets.
| THANKS SO MUCH!!!!
|
|
| Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
| System.EventArgs) Handles MyBase.Load
| 'Put user code to initialize the page here
| If IsPostBack Then
| If Not (Request.Form("btnAdd") Is Nothing) Then
| Add()
| End If
| Else
| BindGrid()
| End If
| End Sub
|
|
| Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As
| System.EventArgs)
| End Sub
|
| Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As
| System.EventArgs) Handles btnUpdate.Click
| Update()
| End Sub
|
|
|
| ' Bind the database to the table
| Private Sub BindGrid()
| vdaPasswords.Fill(dsPasswords1)
|
| If Session("dsPasswords") Is Nothing Then
| Session("dsPasswords") = dsPasswords1
| End If
|
| DataGrid1.DataSource = dsPasswords1
| DataGrid1.DataBind()
|
| End Sub
|
| ' The "Add" sub
| Private Sub Add()
|
| Dim dr As dsPasswords.PasswordsRow
|
| If dsPasswords1 Is Nothing Then
| dsPasswords1 = Session("dsPasswords")
| End If
|
| dr = dsPasswords1.Tables("Passwords").NewRow()
| dr("NUMBER") = 80
| dr("USERNAME") = "SDASD"
| dsPasswords1.Tables("Passwords").Rows.InsertAt(dr, 0)
| DataGrid1.EditItemIndex = 0
| BindGrid()
|
| End Sub
|
| ' User clicked "update".
| Sub Update()
| ' Either insert a new row or update the existing row here,
| ' depending on whether adding or not.
| DataGrid1.EditItemIndex = -1
| BindGrid()
| End Sub
|
|
|
|
|

Nov 17 '05 #2
Hi Aaron,

Thank you for your reply. I wrote a sample code and it works fine on my
machine. You can test it on your machine to see if it helps.

Please let me know if it helps. Thank you.

Lewis,

This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
| From: "Aaron Ackerman" <no@spam.com>
| References: <eN**************@TK2MSFTNGP11.phx.gbl>
| Subject: Re: Adding to a Bound DataGrid: What the @#$!% am I doing wrong!
| Date: Mon, 28 Jul 2003 09:50:10 -0400
| Lines: 85
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
| Message-ID: <O9**************@tk2msftngp13.phx.gbl>
| Newsgroups: microsoft.public.dotnet.framework.aspnet
| NNTP-Posting-Host: ric-64-83-27-134-serial-sta.t1.cavtel.net 64.83.27.134
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftn gp13.phx.gbl
| Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework.aspnet:162588
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
|
| That doesn't work.
|
| "Aaron Ackerman" <no@spam.com> wrote in message
| news:eN**************@TK2MSFTNGP11.phx.gbl...
| > I cannot a row to this bound DataGrid to SAVE MY LIFE! I have tried
| > everything and I am at a loss. The using goes into add mode with the add
| > button adds his data then updates with the update button, seems simple.
| > I am using ALL visual controls (supposedly to simplify things. If I was
| not
| > using the visual controls and calling an ExecuteNonQuery no prob.
| > Please look at my code and tell me what I am doing wrong. Also, what are
| the
| > advatages and disadvantages of using the visual controls and typed
| Datasets.
| > THANKS SO MUCH!!!!
| >
| >
| > Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
| > System.EventArgs) Handles MyBase.Load
| > 'Put user code to initialize the page here
| > If IsPostBack Then
| > If Not (Request.Form("btnAdd") Is Nothing) Then
| > Add()
| > End If
| > Else
| > BindGrid()
| > End If
| > End Sub
| >
| >
| > Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As
| > System.EventArgs)
| > End Sub
| >
| > Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As
| > System.EventArgs) Handles btnUpdate.Click
| > Update()
| > End Sub
| >
| >
| >
| > ' Bind the database to the table
| > Private Sub BindGrid()
| > vdaPasswords.Fill(dsPasswords1)
| >
| > If Session("dsPasswords") Is Nothing Then
| > Session("dsPasswords") = dsPasswords1
| > End If
| >
| > DataGrid1.DataSource = dsPasswords1
| > DataGrid1.DataBind()
| >
| > End Sub
| >
| > ' The "Add" sub
| > Private Sub Add()
| >
| > Dim dr As dsPasswords.PasswordsRow
| >
| > If dsPasswords1 Is Nothing Then
| > dsPasswords1 = Session("dsPasswords")
| > End If
| >
| > dr = dsPasswords1.Tables("Passwords").NewRow()
| > dr("NUMBER") = 80
| > dr("USERNAME") = "SDASD"
| > dsPasswords1.Tables("Passwords").Rows.InsertAt(dr, 0)
| > DataGrid1.EditItemIndex = 0
| > BindGrid()
| >
| > End Sub
| >
| > ' User clicked "update".
| > Sub Update()
| > ' Either insert a new row or update the existing row here,
| > ' depending on whether adding or not.
| > DataGrid1.EditItemIndex = -1
| > BindGrid()
| > End Sub
| >
| >
| >
| >
|
|
|
Nov 17 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Brian Greiwe | last post: by
2 posts views Thread by Clayton Hamilton | last post: by
3 posts views Thread by Jim Heavey | last post: by
5 posts views Thread by Aaron Ackerman | last post: by
reply views Thread by jy836 | last post: by
reply views Thread by TonyJ | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.