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

datagrid update command

P: n/a
i wrote a code to update datagrid with the datagrid updatecommand but i cant get the updated values after being update
that is the code

private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
TextBox temp
temp=(TextBox)e.Item.Cells[0].Controls[0]
String str=temp.Text;

str always returnt the old value of the cell (before being updated)
would u plz tell me about whats wrong i m doin
thnx alo

Nov 18 '05 #1
Share this Question
Share on Google+
13 Replies


P: n/a
After the update, query the data from the data source by appending a select
SQL statement to the end of your update code or run a stored procedure that
pulls the fresh data down again.
Your code below doesn't show how you are actually updating the data, just
how you are getting the changed data from the input.
"abdoly" <ab****@yahoo.com> wrote in message
news:EA**********************************@microsof t.com...
i wrote a code to update datagrid with the datagrid updatecommand but i cant get the updated values after being updated that is the code

private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e){ TextBox temp;
temp=(TextBox)e.Item.Cells[0].Controls[0];
String str=temp.Text;
}
str always returnt the old value of the cell (before being updated)
would u plz tell me about whats wrong i m doing
thnx alot

Nov 18 '05 #2

P: n/a


----- Scott M. wrote: ----

After the update, query the data from the data source by appending a selec
SQL statement to the end of your update code or run a stored procedure tha
pulls the fresh data down again
Your code below doesn't show how you are actually updating the data, jus
how you are getting the changed data from the input
"abdoly" <ab****@yahoo.com> wrote in messag
news:EA**********************************@microsof t.com..
i wrote a code to update datagrid with the datagrid updatecommand but cant get the updated values after being update that is the cod
private void DataGrid1_UpdateCommand(object source
System.Web.UI.WebControls.DataGridCommandEventArgs e) TextBox temp
temp=(TextBox)e.Item.Cells[0].Controls[0]
String str=temp.Text

str always returnt the old value of the cell (before being updated
would u plz tell me about whats wrong i m doin
thnx alo

thanks for ur care , but my problem is that i need to get the new value wrote in the datagrid text to update the data source with it,whatever how i update the data, i just need to know how to fetch the new value even if i want to preview it on the for
thnk

Nov 18 '05 #3

P: n/a
Here is code that will grab the user inputted data and write it back to the
DataSet that the grid is bound to and rebind the grid. This is what you are
not doing. You must re-bind the grid to the changed dataset in order for
the grid to show the new contents.

Private Sub dg_UpdateCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles dg.UpdateCommand

' "FindControl" will only accept the name of a control
Dim editObject As Object=
CType(e.Item.Cells(0).FindControl("ControlNameHere "), ControlTypeHere)
ds.Tables(0).Rows(e.Item.ItemIndex).Item("CustID") = edittext.Text

' Repeat the above steps for each column (and control in the grid)

'Get out of edit mode
dg.EditItemIndex = -1

'Update the DataGrid
dg.DataBind()
End Sub
"abdoly" <ab****@yahoo.com> wrote in message
news:87**********************************@microsof t.com...


----- Scott M. wrote: -----

After the update, query the data from the data source by appending a select SQL statement to the end of your update code or run a stored procedure that pulls the fresh data down again.
Your code below doesn't show how you are actually updating the data, just how you are getting the changed data from the input.
"abdoly" <ab****@yahoo.com> wrote in message
news:EA**********************************@microsof t.com...
> i wrote a code to update datagrid with the datagrid updatecommand
but i cant get the updated values after being updated
> that is the code
>> private void DataGrid1_UpdateCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e){
> TextBox temp;
> temp=(TextBox)e.Item.Cells[0].Controls[0];
> String str=temp.Text;
> }
> str always returnt the old value of the cell (before being updated)
> would u plz tell me about whats wrong i m doing
> thnx alot
>


thanks for ur care , but my problem is that i need to get the new

value wrote in the datagrid text to update the data source with it,whatever
how i update the data, i just need to know how to fetch the new value even
if i want to preview it on the form thnks

Nov 18 '05 #4

P: n/a
"abdoly" <ab****@yahoo.com> wrote in message
news:CA**********************************@microsof t.com...
hi sir
my whole code to update is :
public void DataGrid1_UpdateCommand(object source,System.Web.UI.WebControls.DataGridCommandEv entArgs e) {
temp=(TextBox)e.Item.Cells[1].Controls[0];
String str=temp.Text;
this.TextBox1.Text=str;
editDr=this.dataSet11.Departments.Rows[e.Item.ItemIndex];
editDr.BeginEdit();
editDr["deptname"]=str;
editDr.EndEdit();
this.Cache["ds"]=this.dataSet11;
this.DataGrid1.EditItemIndex=-1;
this.DataGrid1.DataBind();
}
im using (TextBox) casting because another problem wich is using CType always cause error says that CType is not defined inmy namespace, i tried to
find its base class but i couldnt any way my problem is str always the old value before user update,i think that has nothing to do with updating the dataset because in all cases i will update it with the old value again


I don't see where you updated the database, only the in-memory dataset. Have
you confirmed what the value of "str" is immediately after it is set?

Also, CType didn't work because it's a VB.NET thing. You are correct to use
(TextBox) in C#.
--
John Saunders
johnwsaundersiii at hotmail
Nov 18 '05 #5

P: n/a


----- John Saunders wrote: -----

"abdoly" <ab****@yahoo.com> wrote in message
news:CA**********************************@microsof t.com...
hi sir
my whole code to update is :
public void DataGrid1_UpdateCommand(object source,System.Web.UI.WebControls.DataGridCommandEv entArgs e) {
temp=(TextBox)e.Item.Cells[1].Controls[0];
String str=temp.Text;
this.TextBox1.Text=str;
editDr=this.dataSet11.Departments.Rows[e.Item.ItemIndex];
editDr.BeginEdit();
editDr["deptname"]=str;
editDr.EndEdit();
this.Cache["ds"]=this.dataSet11;
this.DataGrid1.EditItemIndex=-1;
this.DataGrid1.DataBind();
}
im using (TextBox) casting because another problem wich is using CType always cause error says that CType is not defined inmy namespace, i tried to
find its base class but i couldnt any way my problem is str always the old value before user update,i think that has nothing to do with updating the dataset because in all cases i will update it with the old value again


I don't see where you updated the database, only the in-memory dataset. Have
you confirmed what the value of "str" is immediately after it is set?

Also, CType didn't work because it's a VB.NET thing. You are correct to use
(TextBox) in C#.
--
John Saunders
johnwsaundersiii at hotmail

i m sure that there is misunderstanding here
how can i update the database or the dataset without knowing the value to update with
first i need to know the new value to update my dataset
look,i press the edit link in the datagrid , a textbox contains the value i want to update appears in the cell
then i have to write the new value in the textbox then press update link
in the update event i m supposed to get the value wrote in the datagrid text box and update the dataset with it
my problem is i dont know how to get this value,
another thing, suppose that i dont want to update that value to the database i just want to display it in a label on the web
form, how can i get it to display it
sorry about my week english and ur time
Nov 18 '05 #6

P: n/a
"abdullah" <ab****@yahoo.com> wrote in message
news:DA**********************************@microsof t.com...


----- John Saunders wrote: -----

"abdoly" <ab****@yahoo.com> wrote in message
news:CA**********************************@microsof t.com...
> hi sir
> my whole code to update is :
> public void DataGrid1_UpdateCommand(object source,System.Web.UI.WebControls.DataGridCommandEv entArgs e)
> {
> temp=(TextBox)e.Item.Cells[1].Controls[0];
> String str=temp.Text;
> this.TextBox1.Text=str;
> editDr=this.dataSet11.Departments.Rows[e.Item.ItemIndex];
> editDr.BeginEdit();
> editDr["deptname"]=str;
> editDr.EndEdit();
> this.Cache["ds"]=this.dataSet11;
> this.DataGrid1.EditItemIndex=-1;
> this.DataGrid1.DataBind();
> }
> im using (TextBox) casting because another problem wich is using

CType always cause error says that CType is not defined inmy namespace, i tried to find its base class but i couldnt
> any way my problem is str always the old value before user update,i
think that has nothing to do with updating the dataset
> because in all cases i will update it with the old value again
I don't see where you updated the database, only the in-memory

dataset. Have you confirmed what the value of "str" is immediately after it is set?

Also, CType didn't work because it's a VB.NET thing. You are correct to use (TextBox) in C#.
--
John Saunders
johnwsaundersiii at hotmail

i m sure that there is misunderstanding here
how can i update the database or the dataset without knowing the value to update with first i need to know the new value to update my dataset
look,i press the edit link in the datagrid , a textbox contains the value i want to update appears in the cell then i have to write the new value in the textbox then press update link
in the update event i m supposed to get the value wrote in the datagrid text box and update the dataset with it my problem is i dont know how to get this value,
another thing, suppose that i dont want to update that value to the database i just want to display it in a label on the web form, how can i get it to display it
sorry about my week english and ur time


What I meant is that, given the way you described the problem, it could be
the case that you thought you were updating the database, but no data
changed, or that you had looked at the value of "str" in the debugger and
seen that it hadn't changed. I noticed that the code you provided did not
update the database, so it could have been the first problem. You didn't say
how you had seen the value of "str", so it could have been the second
problem as well.
--
John Saunders
johnwsaundersiii at hotmail
Nov 18 '05 #7

P: n/a
>> my problem is i dont know how to get this value

(Taken from my earlier post on this thread)

' "FindControl" will only accept the name of a control
Dim editObject As Object=
CType(e.Item.Cells(0).FindControl("ControlNameHere "), ControlTypeHere)
ds.Tables(0).Rows(e.Item.ItemIndex).Item("CustID") = edittext.Text

Note the FindControl method. This is how you "find the control" in the grid
that contains your new data.
Nov 18 '05 #8

P: n/a
"abdoly" <ab****@yahoo.com> wrote in message
news:31**********************************@microsof t.com...

sir
how can i get textbox name to use findControl, the data grid is below

<asp:DataGrid id=DataGrid1 style="Z-INDEX: 101; LEFT: 168px; POSITION: absolute; TOP:
104px" runat="server" Width="224px" Height="112px" DataSource="<%# dataSet11 %>"
DataMember="Departments"

AutoGenerateColumns="False"OnUpdateCommand="DataGr id1_UpdateCommand"><Column
s><asp:BoundColumn DataField="deptid" SortExpression="deptid" HeaderText="deptid"></asp:BoundColumn><asp:BoundColumn DataField="deptname"SortExpression="deptname"Heade rText="deptname"></asp:Bou
ndColumn><asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit"></asp:EditCommandColumn><asp:ButtonColumn Text="Delete"

CommandName="Delete"></asp:ButtonColumn></Columns></asp:DataGrid>

I would not use a BoundColumn. Instead, I'd use a TemplateColumn. That way,
you can name the text box explicitly.
--
John Saunders
johnwsaundersiii at hotmail
Nov 18 '05 #9

P: n/a
"abdoly" <ab****@yahoo.com> wrote in message
news:E6**********************************@microsof t.com...
sir

according to ur reply i understood that
first: u believe that may be the value already changed but i cant see it for some reasons i made 3 things to if know that right
-i display it on a textbox on the form b4 updating the dataset
this.textBox1.text=str;
but i always see the old value
-i updated the dataset with the str and i wrote the dataset to xml file
after updating it
this.dataSet11.WriteXml(@"d:\x\x.xml");
and i checked the file and the old value was there.
-i used the debugger to watch str and the same result here
second: i have to update the datasource with the dataset every time i need to update a
record, then why i use a dataset if i will go to the server every transaction any way i tried to update the datasource as

this.sqlDataAdapter1.Update(this.dataSet11,"depart ments");
and the same result , no change in the old value


I strongly suggest that you simplify your scenario.
--
John Saunders
johnwsaundersiii at hotmail
Nov 18 '05 #10

P: n/a
You need to create template columns that you can place your own controls
into. Then you can give the controls the ID's that you want.
"abdoly" <ab****@yahoo.com> wrote in message
news:31**********************************@microsof t.com...

sir
how can i get textbox name to use findControl, the data grid is below

<asp:DataGrid id=DataGrid1 style="Z-INDEX: 101; LEFT: 168px; POSITION: absolute; TOP:
104px" runat="server" Width="224px" Height="112px" DataSource="<%# dataSet11 %>"
DataMember="Departments"

AutoGenerateColumns="False"OnUpdateCommand="DataGr id1_UpdateCommand"><Column
s><asp:BoundColumn DataField="deptid" SortExpression="deptid" HeaderText="deptid"></asp:BoundColumn><asp:BoundColumn DataField="deptname"SortExpression="deptname"Heade rText="deptname"></asp:Bou
ndColumn><asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit"></asp:EditCommandColumn><asp:ButtonColumn Text="Delete" CommandName="Delete"></asp:ButtonColumn></Columns></asp:DataGrid>
----- Scott M. wrote: -----
>> my problem is i dont know how to get this value

(Taken from my earlier post on this thread)

' "FindControl" will only accept the name of a control
Dim editObject As Object=
CType(e.Item.Cells(0).FindControl("ControlNameHere "),

ControlTypeHere) ds.Tables(0).Rows(e.Item.ItemIndex).Item("CustID") = edittext.Text
Note the FindControl method. This is how you "find the control" in the grid that contains your new data.

Nov 18 '05 #11

P: n/a
si
i used the template columns and i used the findcontrol but the same resul
i will send u the project would u plz just take alook
Nov 18 '05 #12

P: n/a

hi ,
i m also facing with ur problem.. i want to update my database with
new value.. But i'm getting the old value only...

I simply tried to display the new value on to the form, but it is
showing the old value..

Tell me, how to solve this...

Sobin

so****@kgisliim.com

--
sobin
------------------------------------------------------------------------
Posted via http://www.codecomments.com
------------------------------------------------------------------------

Nov 19 '05 #13

P: n/a

Hi,,
i m also facing with the same problem..
i tried to update my datagrid with new values using the update
command.. but i m getting the old value only..

i don no how to resolve it..

plz help me..

so****@kgisliim.com

--
sobin
------------------------------------------------------------------------
Posted via http://www.codecomments.com
------------------------------------------------------------------------

Nov 19 '05 #14

This discussion thread is closed

Replies have been disabled for this discussion.