By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
426,034 Members | 1,714 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 426,034 IT Pros & Developers. It's quick & easy.

In-place Updating in Datagrid not working

P: n/a
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 19 '05 #1
Share this Question
Share on Google+
9 Replies


P: n/a
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 19 '05 #2

P: n/a
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 19 '05 #3

P: n/a
I cut out the other newsgroups.

Are you getting any errors ?
If you are, please post the error text.

Did you write that code, or is that a sample from somewhere ?
If it is a sample from somewhere, did you change anything ?
If you did, what did you change ?

Does you database content display, but it just doesn't update ?

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:uD**************@TK2MSFTNGP15.phx.gbl...
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 19 '05 #4

P: n/a
A P
No error.

The code was from MSDN
website.(http://msdn.microsoft.com/library/de...brary/en-us/vb
con/html/vbtskallowinguserstoedititemsindatagridwebcontrol. asp)

I can view the datagrid, click on edit and can cancel data. But when I will
click on update, the view will return back to edit mode(without textbox) and
the content is not changed.

"Juan T. Llibre" <no***********@nowhere.com> wrote in message
news:uo**************@tk2msftngp13.phx.gbl...
I cut out the other newsgroups.

Are you getting any errors ?
If you are, please post the error text.

Did you write that code, or is that a sample from somewhere ?
If it is a sample from somewhere, did you change anything ?
If you did, what did you change ?

Does you database content display, but it just doesn't update ?

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:uD**************@TK2MSFTNGP15.phx.gbl...
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 19 '05 #5

P: n/a
Sometimes it's hard to get piecemeal
code to work as we want it do.

Let me suggest yo you that you take a good look
at a complete page which does what you want.

Datagrid6.aspx is in the QuickStart samples,
and you can see it working online at :
http://www.dotnetjunkies.com/quickst...datagrid6.aspx

The source code for that datagrid edit page is at :
http://www.dotnetjunkies.com/quickst.../datagrid6.src
in both VB and C#

You'll find that sample a lot easier to dissect,
study, and then modify for your own use.

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:%2****************@TK2MSFTNGP15.phx.gbl...
No error.

The code was from MSDN
website.(http://msdn.microsoft.com/library/de...brary/en-us/vb
con/html/vbtskallowinguserstoedititemsindatagridwebcontrol. asp)

I can view the datagrid, click on edit and can cancel data. But when I
will
click on update, the view will return back to edit mode(without textbox)
and
the content is not changed.

"Juan T. Llibre" <no***********@nowhere.com> wrote in message
news:uo**************@tk2msftngp13.phx.gbl...
I cut out the other newsgroups.

Are you getting any errors ?
If you are, please post the error text.

Did you write that code, or is that a sample from somewhere ?
If it is a sample from somewhere, did you change anything ?
If you did, what did you change ?

Does you database content display, but it just doesn't update ?

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:uD**************@TK2MSFTNGP15.phx.gbl...
> 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 19 '05 #6

P: n/a
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 19 '05 #7

P: n/a
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 19 '05 #8

P: n/a
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 19 '05 #9

P: n/a
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 19 '05 #10

This discussion thread is closed

Replies have been disabled for this discussion.