473,569 Members | 2,466 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

VB.NET -Web App: Problems Updating Datagrid

23 New Member
hi all..
I am trying to update my datagrid in my webform...but its not getting updated..though in the database it removing the <null> and inserting a blank field....its not taking the input which m typing...can sombody plz help me out in this..i need help urgently
I am posting the code in vb.net for the webform as well as html
Expand|Select|Wrap|Line Numbers
  1. Protected Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand
  2.         Dim Stocksent1 As TextBox = CType(e.Item.FindControl("TextBox2"), TextBox)
  3.         Dim Signed1 As TextBox = CType(e.Item.FindControl("SignedTextBox"), TextBox)
  4.         Dim Items1 As String = DataGrid1.DataKeys(e.Item.ItemIndex).ToString()
  5.         Dim myConnection As New SqlConnection("Server=SERVER;uid=sa;pwd=;Database=Central")
  6.         myConnection.Open()
  7.  
  8.         myCommand1 = New SqlCommand("Update Table3 set Stocksent='" & Stocksent1.Text & "', Signedby='" & Signed1.Text & "' , Flag=0, Sentdate=getdate() where Items='" & Items1 & "' ", myConnection)
  9.         'myCommand1.Parameters.Add("@Items", SqlDbType.NVarChar).Value = Items
  10.         'myCommand1.Parameters.Add("@Stocksent1", SqlDbType.NVarChar).Value = Stocksent1.Text
  11.         'myCommand1.Parameters.Add("@Signedby1", SqlDbType.NVarChar).Value = Signed1.Text
  12.         ra = myCommand1.ExecuteNonQuery()
  13.         myConnection.Close()
  14.         Response.Write("Records Updated")
  15.         DataGrid1.EditItemIndex = -1
  16.         DataGrid1.DataBind()
  17.         DataGrid1.Columns(8).Visible = False
  18.         DataGrid1.Columns(9).Visible = False
  19.         DataGrid1.Columns(10).Visible = False
  20.         DataGrid1.Columns(11).Visible = False
  21.         DataGrid1.Columns(12).Visible = False
  22.  
  23.     End Sub
  24.  
HTML CODE
Expand|Select|Wrap|Line Numbers
  1. <form id="Form1" method="post" runat="server">
  2.             <asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 64px; POSITION: absolute; TOP: 296px"
  3.                 runat="server" AutoGenerateColumns="False" DataKeyField="Items" Width="848px" ForeColor="DimGray"
  4.                 BackColor="Wheat" BorderColor="#660033" Height="72px">
  5.                 <HeaderStyle Font-Bold="True" ForeColor="Chocolate" BackColor="LightGray"></HeaderStyle>
  6.                 <Columns>
  7.                     <asp:BoundColumn DataField="Lognumm" ReadOnly="True" HeaderText="Lognumm"></asp:BoundColumn>
  8.                     <asp:BoundColumn DataField="Requestdate" ReadOnly="True" HeaderText="Requestdate"></asp:BoundColumn>
  9.                     <asp:BoundColumn DataField="Hospital" ReadOnly="True" HeaderText="Hospital"></asp:BoundColumn>
  10.                     <asp:BoundColumn DataField="Items" ReadOnly="True" HeaderText="Items"></asp:BoundColumn>
  11.                     <asp:BoundColumn DataField="Currentstock" ReadOnly="True" HeaderText="Currentstock"></asp:BoundColumn>
  12.                     <asp:BoundColumn DataField="Stockrequest" ReadOnly="True" HeaderText="Stockrequest"></asp:BoundColumn>
  13.                     <asp:BoundColumn DataField="Priority" ReadOnly="True" HeaderText="Priority"></asp:BoundColumn>
  14.                     <asp:BoundColumn DataField="Comment" ReadOnly="True" HeaderText="Comment"></asp:BoundColumn>
  15.                     <asp:TemplateColumn Visible="False" HeaderText="Stocksent">
  16.                         <ItemTemplate>
  17.                             <asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval (Container.DataItem , "Stocksent") %>'>
  18.                             </asp:Label>
  19.                         </ItemTemplate>
  20.                         <EditItemTemplate>
  21.                             <asp:TextBox id=TextBox2 runat="server" Text='<%# DataBinder.Eval(Container.DataItem , "Stocksent") %>'>
  22.                             </asp:TextBox>
  23.                             <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Enter value" ControlToValidate="TextBox2"></asp:RequiredFieldValidator>
  24.                         </EditItemTemplate>
  25.                     </asp:TemplateColumn>
  26.                     <asp:TemplateColumn Visible="False" HeaderText="Signedby">
  27.                         <ItemTemplate>
  28.                             <asp:Label id=Label1 runat="server" NAME="Label1" Text='<%# DataBinder.Eval(Container, "DataItem.Signedby") %>'>
  29.                             </asp:Label>
  30.                         </ItemTemplate>
  31.                         <EditItemTemplate>
  32.                             <asp:TextBox id=SignedTextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Signedby") %>'>
  33.                             </asp:TextBox>
  34.                             <asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" Width="128px" ErrorMessage="Enter Value"
  35.                                 ControlToValidate="SignedTextBox"></asp:RequiredFieldValidator>
  36.                         </EditItemTemplate>
  37.                     </asp:TemplateColumn>
  38.                     <asp:TemplateColumn Visible="False" HeaderText="Takenby">
  39.                         <ItemTemplate>
  40.                             <asp:Label id="Label3" runat="server"></asp:Label>
  41.                         </ItemTemplate>
  42.                         <EditItemTemplate>
  43.                             <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
  44.                             <asp:RequiredFieldValidator id="RequiredFieldValidator3" runat="server" ErrorMessage="Enter Value" ControlToValidate="TextBox1"></asp:RequiredFieldValidator>
  45.                         </EditItemTemplate>
  46.                     </asp:TemplateColumn>
  47.                     <asp:TemplateColumn Visible="False" HeaderText="Comments">
  48.                         <ItemTemplate>
  49.                             <asp:Label runat="server"></asp:Label>
  50.                         </ItemTemplate>
  51.                         <EditItemTemplate>
  52.                             <asp:TextBox runat="server"></asp:TextBox>
  53.                         </EditItemTemplate>
  54.                     </asp:TemplateColumn>
  55.                     <asp:TemplateColumn HeaderText="Edit">
  56.                         <ItemTemplate>
  57.                             <asp:LinkButton runat="server" CausesValidation="false" CommandName="Edit" Text="Edit" ID="Linkbutton1"></asp:LinkButton>
  58.                         </ItemTemplate>
  59.                         <EditItemTemplate>
  60.                             <asp:LinkButton runat="server" CommandName="Update" Text="Update" ID="Linkbutton2"></asp:LinkButton>
  61.                             <asp:LinkButton runat="server" CausesValidation="false" CommandName="Cancel" Text="Cancel" ID="Linkbutton3"></asp:LinkButton>
  62.                         </EditItemTemplate>
  63.                     </asp:TemplateColumn>
  64.                 </Columns>
  65.             </asp:datagrid>
Nov 15 '07 #1
23 1926
Frinavale
9,735 Recognized Expert Moderator Expert
hi all..
I am trying to update my datagrid in my webform...but its not getting updated..though in the database it removing the <null> and inserting a blank field....its not taking the input which m typing...can sombody plz help me out in this..i need help urgently
I am posting the code in vb.net for the webform as well as html...
Hi Tanya,
In the future could you please post your code within [code] tags.
(For example you'd type [code=vbnet]'...paste code here...[ /code] if you wanted to post vb.net code)
This just makes it easier for everyone.

Are you by any chance binding your DataGrid to its DataSource during PageLoad?
Nov 15 '07 #2
tanya2001
23 New Member
Hi Tanya,
In the future could you please post your code within [code] tags.
(For example you'd type [code=vbnet]'...paste code here...[ /code] if you wanted to post vb.net code)
This just makes it easier for everyone.

Are you by any chance binding your DataGrid to its DataSource during PageLoad?

yes i am do u want me to give u the code for page load event as well?
Nov 16 '07 #3
mzmishra
390 Recognized Expert Contributor
I think this part is missing in your code
DataGrid.DataSo urce
Nov 16 '07 #4
tanya2001
23 New Member
I think this part is missing in your code
DataGrid.DataSo urce

where shud this part be i mean Datagrid.Dataso urce????
Nov 16 '07 #5
Frinavale
9,735 Recognized Expert Moderator Expert
where shud this part be i mean Datagrid.Dataso urce????
Could you please post your code for the PageLoad method?
Nov 16 '07 #6
tanya2001
23 New Member
Could you please post your code for the PageLoad method?
Expand|Select|Wrap|Line Numbers
  1.  
  2.  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.         Dim cn As New SqlConnection("Server=SERVER;uid=sa;pwd=;Database=Central")
  4.         Dim da As New SqlDataAdapter("select * from Table3 where Lognumm= '" & Request.QueryString("ID") & "' and Flag=1", cn)
  5.         Dim dt As New DataTable
  6.         da.Fill(dt)
  7.         da.Dispose()
  8.         cn.Dispose()
  9.         Me.DataGrid1.DataSource = dt
  10.         Me.DataGrid1.DataBind()
  11.     End Sub
  12.  
  13.  
Nov 16 '07 #7
Frinavale
9,735 Recognized Expert Moderator Expert
Expand|Select|Wrap|Line Numbers
  1.  
  2.  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.         Dim cn As New SqlConnection("Server=SERVER;uid=sa;pwd=;Database=Central")
  4.         Dim da As New SqlDataAdapter("select * from Table3 where Lognumm= '" & Request.QueryString("ID") & "' and Flag=1", cn)
  5.         Dim dt As New DataTable
  6.         da.Fill(dt)
  7.         da.Dispose()
  8.         cn.Dispose()
  9.         Me.DataGrid1.DataSource = dt
  10.         Me.DataGrid1.DataBind()
  11.     End Sub
  12.  
  13.  
Try changing your code so that you only set and bind the DataSource to your DataGrid when it is not isPostBack

Eg
Expand|Select|Wrap|Line Numbers
  1.  
  2.  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.  
  4.  
  5.       If IsPostBack = False Then
  6.  
  7.         Dim cn As New SqlConnection("Server=SERVER;uid=sa;pwd=;Database=Central")
  8.         Dim da As New SqlDataAdapter("select * from Table3 where Lognumm= '" & Request.QueryString("ID") & "' and Flag=1", cn)
  9.         Dim dt As New DataTable
  10.         da.Fill(dt)
  11.         da.Dispose()
  12.         cn.Dispose()
  13.         Me.DataGrid1.DataSource = dt
  14.         Me.DataGrid1.DataBind()
  15.  
  16.         End If
  17.     End Sub
  18.  

The reason for this is during your page cycle, when you're in the PageLoad, you can set your control's properties Before ASP.NET sets them. If you do this, then any properties that the control gathered from the user is lost....so if your user is editing an empty row and adding new values to it...and then you reset the data source for your DataGrid in PageLoad, you will lose the data that the user supplied while editing.

(PS. Please take a look at my not on using the [code] tags again. It should be code=vbnet not code : Vb.Net :) Thanks)
Nov 16 '07 #8
tanya2001
23 New Member
lol....hi
well i did write it the way u said as shown below but when i click the edit link its just showing me a blank page the datagrid disappears...th e entire code for the page is shown below( i hope i m right this time :-))

Expand|Select|Wrap|Line Numbers
  1.  
  2. Imports System.Data.SqlClient
  3. Public Class trial
  4.     Inherits System.Web.UI.Page
  5.     Dim myCommand1 As New SqlCommand
  6.     Protected WithEvents LinkButton4 As System.Web.UI.WebControls.LinkButton
  7.     Protected WithEvents LinkButton5 As System.Web.UI.WebControls.LinkButton
  8.     Dim ra As Integer
  9.  
  10. #Region " Web Form Designer Generated Code "
  11.  
  12.     'This call is required by the Web Form Designer.
  13.     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  14.  
  15.     End Sub
  16.     Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
  17.  
  18.     'NOTE: The following placeholder declaration is required by the Web Form Designer.
  19.     'Do not delete or move it.
  20.     Private designerPlaceholderDeclaration As System.Object
  21.  
  22.     Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
  23.         'CODEGEN: This method call is required by the Web Form Designer
  24.         'Do not modify it using the code editor.
  25.         InitializeComponent()
  26.     End Sub
  27.  
  28. #End Region
  29.  
  30.     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  31.         If IsPostBack = False Then
  32.  
  33.  
  34.         Dim cn As New SqlConnection("Server=SERVER;uid=sa;pwd=;Database=Central")
  35.         Dim da As New SqlDataAdapter("select * from Table3 where Lognumm= '" & Request.QueryString("ID") & "' and Flag=1", cn)
  36.         Dim dt As New DataTable
  37.         da.Fill(dt)
  38.         da.Dispose()
  39.         cn.Dispose()
  40.         Me.DataGrid1.DataSource = dt
  41.         Me.DataGrid1.DataBind()
  42.                end if
  43.     End Sub
  44.  
  45.     Protected Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand
  46.         DataGrid1.Columns(8).Visible = True
  47.         DataGrid1.Columns(9).Visible = True
  48.         DataGrid1.Columns(10).Visible = True
  49.         DataGrid1.Columns(11).Visible = True
  50.  
  51.         DataGrid1.EditItemIndex = e.Item.ItemIndex
  52.         DataGrid1.DataBind()
  53.  
  54.     End Sub
  55.     Protected Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand
  56.  
  57.         Dim Stocksent1 As TextBox = CType(e.Item.FindControl("TextBox2"), TextBox)
  58.         Dim Signed1 As TextBox = CType(e.Item.FindControl("SignedTextBox"), TextBox)
  59.         Dim Items1 As String = DataGrid1.DataKeys(e.Item.ItemIndex).ToString()
  60.         Dim myConnection As New SqlConnection("Server=SERVER;uid=sa;pwd=;Database=Central")
  61.         myConnection.Open()
  62.  
  63.         myCommand1 = New SqlCommand("Update Table3 set Stocksent='" & Stocksent1.Text & "', Signedby='" & Signed1.Text & "' , Flag=0, Sentdate=getdate() where Items='" & Items1 & "' ", myConnection)
  64.         'myCommand1.Parameters.Add("@Items", SqlDbType.NVarChar).Value = Items
  65.         'myCommand1.Parameters.Add("@Stocksent1", SqlDbType.NVarChar).Value = Stocksent1.Text
  66.         'myCommand1.Parameters.Add("@Signedby1", SqlDbType.NVarChar).Value = Signed1.Text
  67.         ra = myCommand1.ExecuteNonQuery()
  68.         myConnection.Close()
  69.         Response.Write("Records Updated")
  70.         DataGrid1.EditItemIndex = -1
  71.         DataGrid1.DataBind()
  72.         DataGrid1.Columns(8).Visible = False
  73.         DataGrid1.Columns(9).Visible = False
  74.         DataGrid1.Columns(10).Visible = False
  75.         DataGrid1.Columns(11).Visible = False
  76.         DataGrid1.Columns(12).Visible = False
  77.  
  78.     End Sub
  79.     Private Sub LinkButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton5.Click
  80.  
  81.         Response.Redirect("http://localhost/WebApplication3\Warehouse1.aspx")
  82.  
  83.     End Sub
  84.     Private Sub LinkButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton4.Click
  85.  
  86.         Response.Redirect("http://localhost/WebApplication3\WebForm6.aspx")
  87.  
  88.     End Sub
  89.  
  90. End Class
  91.  
Nov 16 '07 #9
tanya2001
23 New Member
Try changing your code so that you only set and bind the DataSource to your DataGrid when it is not isPostBack

Eg
Expand|Select|Wrap|Line Numbers
  1.  
  2.  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.  
  4.  
  5.       If IsPostBack = False Then
  6.  
  7.         Dim cn As New SqlConnection("Server=SERVER;uid=sa;pwd=;Database=Central")
  8.         Dim da As New SqlDataAdapter("select * from Table3 where Lognumm= '" & Request.QueryString("ID") & "' and Flag=1", cn)
  9.         Dim dt As New DataTable
  10.         da.Fill(dt)
  11.         da.Dispose()
  12.         cn.Dispose()
  13.         Me.DataGrid1.DataSource = dt
  14.         Me.DataGrid1.DataBind()
  15.  
  16.         End If
  17.     End Sub
  18.  

The reason for this is during your page cycle, when you're in the PageLoad, you can set your control's properties Before ASP.NET sets them. If you do this, then any properties that the control gathered from the user is lost....so if your user is editing an empty row and adding new values to it...and then you reset the data source for your DataGrid in PageLoad, you will lose the data that the user supplied while editing.

(PS. Please take a look at my not on using the [code] tags again. It should be code=vbnet not code : Vb.Net :) Thanks)
hi i did it but its like showing me a blank page wehn i click edit...y is it so???
Nov 16 '07 #10

Sign in to post your reply or Sign up for a free account.

Similar topics

1
1174
by: Brett Hargreaves | last post by:
I'm having a major problems with Datagrid and the update command. Basically when I enter into edit mode in my data grid then set a new value, the update command is not picking up the new value. So, if the original value is 10, and I change it to 20 the txtFieldName.Text field still thinks it has the old value of 10 in it. Anyone any ideas...
2
2322
by: Tomas Vera | last post by:
Hello All, I'm having problems creating a page with dynamic checkboxes in a WebApp. In my app, I need to query a database, then (based on results) add checkboxes to my form and set their "Checked" state. Since the controls are dynamically created, I'm using the OnInit event to create the checkboxes and set the "Checked" state from the DB. ...
1
1503
by: Jim McDermott | last post by:
A client I provide lan support to posed a web app question I'm not qualified to answer.... They build OEM mechanisms to order from an assortment of stock parts - I know this is a stretch, but kind of like autos. You pick a base model, then make a engine selection, then select color, etc. Of course, each subsequent choice is predicated on...
3
1622
by: Martin | last post by:
I am a .Net newbie. I have Visual Studio.Net 2003 and have the luxury of being able to do some R&D/learning in a non-production environment. I want to develop a web application that will get the data that it serves out from two sources: (1) a database (probably MS Access but could be SQL Server) and (2) directly from another application...
0
906
by: mjc9885 | last post by:
Hope someone can help me out with this. I made some minor modifications to some underlying VB code for a web app -- no changes to any .aspx pages were required. I then deployed the changes to a test environment and everything worked fine. I used XCopy method to do this -- Copied the project to a localhost directory, then copied the dll's...
5
4708
by: terryc | last post by:
Hi Guys I've set up a web app on my machine using IIS and XP Pro. I can access the site using my machine (http://localhost/appName) no problems, but when I try and access this app using another machine over the network (http://192.XXX.X.X/appName) it just times out. Any ideas what the problem would be? I've just changed machine, previous...
4
1569
by: Andrew Robinson | last post by:
I am working on a system system that requires optimistic concurrency within a web app. At first I thought this would be easy. We generate our own entities and dal/service layer but I now see that working with controls like a grid view pose some very complicated issues. If I am using rowversion, when do I start the "clock"? When I first...
3
1331
by: tanya2001 | last post by:
hi m bac 2 trouble u agn can u tell me how do i update a datagrid which has got a datagrid which is displayed on a button click and thn it tht datagrid thr's a link which has 2 be updated...wen m clicking edit on the datagrid nothing is returning back...what shud i give in the page post back event?i cant give d code for datagrid coz tht shud b...
2
1183
by: CMoya | last post by:
Can anyone point to an article or blog that describes the *functional* differences between a "Web Application" and a "Web Site" in VS2008.... caveats, gotchas? I'm aware of the compile differences as it was in VS2005 (one dll, vs multiple), but is there anything else to keep in mind? Like some things that might work in one but not the other?
0
7618
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7926
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
8132
jinu1996
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
1
7678
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
1
5514
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
5222
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3656
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
0
3644
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2116
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.