473,324 Members | 2,179 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,324 software developers and data experts.

In-place Updating in Datagrid not working

A P
Hi!

I have created a sample datagrid that can update data on a database. Please
help me solve the problem, I have attached both aspx and code behind
(aspx.vb):

______________________

datagrid.aspx

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGrid.aspx.vb"
Inherits="vs_2310.DataGrid"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>DataGrid</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema"
content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:DataGrid id=DataGrid1 style="Z-INDEX: 101; LEFT: 51px; POSITION:
absolute; TOP: 51px" runat="server" DataSource="<%# DataSet21 %>"
DataKeyField="NounID" BorderColor="#CC9966" BorderStyle="None"
BorderWidth="1px" BackColor="White" CellPadding="4" Font-Size="10pt"
AutoGenerateColumns="False" Font-Names="Arial" AllowPaging="True">
<SelectedItemStyle Font-Bold="True" ForeColor="#663399"
BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC"
BackColor="#990000"></HeaderStyle>
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="NounID" SortExpression="NounID"
HeaderText="ID"></asp:BoundColumn>
<asp:BoundColumn DataField="NounDesc" SortExpression="NounDesc"
HeaderText="Noun"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Action">
<ItemTemplate>
<asp:LinkButton runat="server" Text="Edit" CommandName="Edit"
CausesValidation="false"></asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton runat="server" Text="Update"
CommandName="Update"></asp:LinkButton>&nbsp;
<asp:LinkButton runat="server" Text="Cancel" CommandName="Cancel"
CausesValidation="false"></asp:LinkButton>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099"
BackColor="#FFFFCC"></PagerStyle>
</asp:DataGrid>
<asp:Label id="Label1" style="Z-INDEX: 102; LEFT: 51px; POSITION:
absolute; TOP: 17px" runat="server">Label</asp:Label>
</form>
</body>
</HTML>

________________________

datagrid.aspx.vb

Imports System.Data.OleDb
Public Class DataGrid
Inherits System.Web.UI.Page
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
OleDbDataAdapter1.Fill(DataSet21)
DataGrid1.DataBind()
End Sub

Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles
DataGrid1.EditCommand
DataGrid1.EditItemIndex() = e.Item.ItemIndex
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles
DataGrid1.UpdateCommand
Dim NounTable As DataSet2.tbltsNounDataTable

NounTable = DataSet21.tbltsNoun

Dim rowToUpdate As DataSet2.tbltsNounRow

rowToUpdate = NounTable.Rows(e.Item.ItemIndex)
rowToUpdate.NounDesc = CType(e.Item.Cells(1).Controls(0),
TextBox).Text

OleDbDataAdapter1.Update(DataSet21)
Label1.Text = rowToUpdate.NounDesc

DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
End Sub

Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e
As System.Web.UI.WebControls.DataGridPageChangedEvent Args) Handles
DataGrid1.PageIndexChanged
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.DataBind()
End Sub

Private Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles
DataGrid1.CancelCommand
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
End Sub
End Class

___________________
Nov 21 '05 #1
6 949
Hey, A P,

what *is* the problem you have ?

Juan T. Llibre
ASP.NET MVP
http://asp.net.do/foros/
Foros de ASP.NET en Español
Ven, y hablemos de ASP.NET...
======================

"A P" <ap@textguru.ph> wrote in message
news:um**************@TK2MSFTNGP15.phx.gbl...
Hi!

I have created a sample datagrid that can update data on a database.
Please
help me solve the problem, I have attached both aspx and code behind
(aspx.vb):


....code snipped.
Nov 21 '05 #2
A P
Data is not updating. I've already check on the database and the content is
not changed if I click on the update link. I'm using MS Access for the
database.

Me

"Juan T. Llibre" <no***********@nowhere.com> wrote in message
news:#3**************@TK2MSFTNGP09.phx.gbl...
Hey, A P,

what *is* the problem you have ?

Juan T. Llibre
ASP.NET MVP
http://asp.net.do/foros/
Foros de ASP.NET en Español
Ven, y hablemos de ASP.NET...
======================

"A P" <ap@textguru.ph> wrote in message
news:um**************@TK2MSFTNGP15.phx.gbl...
Hi!

I have created a sample datagrid that can update data on a database.
Please
help me solve the problem, I have attached both aspx and code behind
(aspx.vb):


...code snipped.

Nov 21 '05 #3
AP,

This is a lot of code, first of all would I change what happen in the load
event in something like this (typed in this message so watch typos).
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 Not IsPostBack then
OleDbDataAdapter1.Fill(DataSet21)
session.item("ds21") = DataSet21
Else
Dataset21 = directcast(session.Item("ds21"), dataset)
End if
DataGrid1.DataSource = Dataset21
DataGrid1.DataBind()
End Sub

And than see what happens.

Cor
Nov 21 '05 #4
A P
Cor,

Same output. No change on the field. Much better, if its OK with you to post
a simple code that uses Datagrid on Access Database that can update values.
Hope that you'll grant my request.

regards,
Me

"Cor Ligthert" <no************@planet.nl> wrote in message
news:u9**************@TK2MSFTNGP14.phx.gbl...
AP,

This is a lot of code, first of all would I change what happen in the load
event in something like this (typed in this message so watch typos).
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 Not IsPostBack then
OleDbDataAdapter1.Fill(DataSet21)
session.item("ds21") = DataSet21
Else
Dataset21 = directcast(session.Item("ds21"), dataset)
End if
DataGrid1.DataSource = Dataset21
DataGrid1.DataBind()
End Sub

And than see what happens.

Cor

Nov 21 '05 #5
AP,
Same output. No change on the field. Much better, if its OK with you to
post
a simple code that uses Datagrid on Access Database that can update
values.
Hope that you'll grant my request.


At your service, I never use the designer so it was more work than I thought

\\\
'This is a simple project without any error trapping
'Create a new project
'Select an oledbdataadapter
'Use a Northwind MDB
'Select Employees and from that EmployeeID, FirstName, LastName
'Generate a dataset
'Drag a datagrid and set in the propertybuilder the datasource, datamember
'set the Edit, Cancel, Update column, datacolumns in the sequence Id,
FirstName, Lastname

'And than this code
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
OleDbDataAdapter1.Fill(DataSet11)
Session.Item("ds21") = DataSet11
DataGrid1.DataBind()
Else
DataSet11 = DirectCast(Session.Item("ds21"), DataSet1)
End If
DataGrid1.DataSource = DataSet11
End Sub
Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As _
System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles _
DataGrid1.EditCommand
DataGrid1.EditItemIndex() = e.Item.ItemIndex
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As _
System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles _
DataGrid1.UpdateCommand
Dim dv As New DataView(DataSet11.Employees)
dv.RowFilter = "EmployeeID = '" _
& DirectCast(e.Item.Cells(1).Controls(0), TextBox).Text & "'"
dv(0)("FirstName") = DirectCast(e.Item.Cells(2).Controls(0),
TextBox).Text
dv(0)("LastName") = DirectCast(e.Item.Cells(3).Controls(0),
TextBox).Text
OleDbDataAdapter1.Update(DataSet11.Employees)
Session.Item("ds21") = DataSet11
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As _
System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles _
DataGrid1.CancelCommand
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
End Sub
End Class
///
Nov 21 '05 #6
A P
Thanks Cor! I already made it but I need to study first the code since I
have no idea on the "Session.Item" thing and "DirectCast". Thanks again.
"Cor Ligthert" <no************@planet.nl> wrote in message
news:OU**************@TK2MSFTNGP09.phx.gbl...
AP,
Same output. No change on the field. Much better, if its OK with you to
post
a simple code that uses Datagrid on Access Database that can update
values.
Hope that you'll grant my request.

At your service, I never use the designer so it was more work than I

thought
\\\
'This is a simple project without any error trapping
'Create a new project
'Select an oledbdataadapter
'Use a Northwind MDB
'Select Employees and from that EmployeeID, FirstName, LastName
'Generate a dataset
'Drag a datagrid and set in the propertybuilder the datasource, datamember
'set the Edit, Cancel, Update column, datacolumns in the sequence Id,
FirstName, Lastname

'And than this code
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
OleDbDataAdapter1.Fill(DataSet11)
Session.Item("ds21") = DataSet11
DataGrid1.DataBind()
Else
DataSet11 = DirectCast(Session.Item("ds21"), DataSet1)
End If
DataGrid1.DataSource = DataSet11
End Sub
Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As _
System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles _
DataGrid1.EditCommand
DataGrid1.EditItemIndex() = e.Item.ItemIndex
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As _ System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles _
DataGrid1.UpdateCommand
Dim dv As New DataView(DataSet11.Employees)
dv.RowFilter = "EmployeeID = '" _
& DirectCast(e.Item.Cells(1).Controls(0), TextBox).Text & "'"
dv(0)("FirstName") = DirectCast(e.Item.Cells(2).Controls(0),
TextBox).Text
dv(0)("LastName") = DirectCast(e.Item.Cells(3).Controls(0),
TextBox).Text
OleDbDataAdapter1.Update(DataSet11.Employees)
Session.Item("ds21") = DataSet11
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As _ System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles _
DataGrid1.CancelCommand
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
End Sub
End Class
///

Nov 21 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Curious Expatriate | last post by:
Hi- I'm completely stumped. I'm trying to write some code that will parse a file and rewrite it with all URLs replaced by something else. For example: if the file looks like this: <b>click...
1
by: JS Bangs | last post by:
I started using PHP's object-oriented stuff a little while ago, which has mostly been a joy. However, I've noticed that they don't seem to echo as I would like. Eg: $this->field = 255;...
5
by: lawrence | last post by:
I've waited 6 weeks for an answer to my other question and still no luck, so let me rephrase the question. I know I can do this: <form method="post" action="$self"> <input type="text"...
0
by: Ben Eisenberg | last post by:
I'm trying to run a php script setuid. I've tried POSIX_setuid but you have to be root to run this. The files are located on a public access unix system and have me as the owner and nobody as the...
2
by: Felix | last post by:
Hi, I've a problem: I want to have the result of my Mysql Query in a Table in my php file. Now I've this: <?
1
by: James | last post by:
What is the best way to update a record in a MYSQL DB using a FORM and PHP ? Where ID = $ID ! Any examples or URLS ? Thanks
1
by: phpkid | last post by:
Howdy I've been given conflicting answers about search engines picking up urls like: http://mysite.com/index.php?var1=1&var2=2&var3=3 Do search engines pick up these urls? I've been considering...
1
by: lawrence | last post by:
What is the PHP equivalent of messaging, as in Java?
3
by: Quinten Carlson | last post by:
Is there a way to conditionally define a function in php? I'm trying to run a php page 10 times using the include statement, but I get an error because my function is already defined. The docs...
2
by: Phillip Wu | last post by:
Hi, I saw a previous post about sending arrays but did not quite understand the answers. The problem is that I would like to pass an entire array as a hidden input field from one php script...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 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 former...

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.