I have a datagrid of 10 rows and I am updating the fifth
row using template column edit. How wil u know that the row
is updated, so that it can be send to database for updating
the respective table?
Answer Posted / jatinder walia
Create Your Source Code As Follows:
1)Create a new website Project
2)Create a page called default.aspx(you will get it if you
are using Microsoft IDE)
3)Paste the following code on Default.aspx
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script language="javascript" type="text/javascript">
var CurrentlyEditingRow=1;
function Edit(TargetRow)
{
CurrentlyEditingRow=TargetRow.id;
var txt =document.getElementById
(TargetRow.id).innerText;
AsyncHit("Editpage.aspx?
r="+TargetRow.id+"&val="+txt,"");
}
function AsyncHit(RemoteUrl)
{
if (window.XMLHttpRequest)
{ // For Firefox,Mozilla, Safari & IE 7 and above
etc
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{ //For IE
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
}
if (typeof(xmlhttp)=='object')
{
xmlhttp.onreadystatechange=GetResponse;
xmlhttp.open('POST', RemoteUrl, true);
document.getElementById
("prg_bar").innerHTML="Sending..Please Wait..";
xmlhttp.send("");
}
}
function GetResponse()
{
if (xmlhttp.readyState==4)
{
document.getElementById("prg_bar").innerHTML="";
if (xmlhttp.status==200)
{
HandleResponse(xmlhttp.responseText);
}
else
{
HandleResponse("-1");
}
}
}
function HandleResponse(Response)
{
document.getElementById
(CurrentlyEditingRow).innerText=Response;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td id="prg_bar">
</td>
</tr>
<tr>
<td>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField
AccessibleHeaderText="Field1" DataField="name"
HeaderText="Field1" />
<asp:BoundField
AccessibleHeaderText="field2" DataField="id"
HeaderText="field2" />
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
4)Paste The Following Code On Default.aspx.cs
/*NOTE:Create ur own class for fetching some data from
dataset ie create your own DATABL.cs class for fetching
data into dataset.This example has been programmed to work
with 2 fields in Grid only and the second field must be
numeric,otherwise the logic will crash in current
scenario.Offcourse you can change it as per yor
requirement.*/
int RowCount = 1;
protected void Page_Load(object sender, EventArgs e)
{
string strQuery = "select name,id from IMPORTEXCEL
where rownum<20";
DataBL odbl = new DataBL();
DataSet ds = odbl.getDataSet("qry", strQuery);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
int ColCount=0;
for (RowCount = 0; RowCount < GridView1.Rows.Count;
RowCount++)
{
for (ColCount = 1; ColCount <
GridView1.Columns.Count; ColCount++)
{
GridView1.Rows[RowCount].Cells
[ColCount].Attributes.Add("Id", RowCount.ToString() + "_" +
ColCount.ToString());
GridView1.Rows[RowCount].Cells
[ColCount].Attributes.Add("OnClick", "Javascript:Edit
(this)");
}
}
}
5)Now Create a new aspx Page with the name EditPage.aspx
6)Change the aspx of EditPage.aspx as under
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="EditPage.aspx.cs" Inherits="EditPage" %>
ie nothing should be on this aspx page except the first
default line of code on this page..ie no HTML
7)Paste The following code on EditPage.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
string Values = Request.QueryString["val"];
if (int.Parse(Values) > 30)
Response.Write("High");
else
Response.Write("Low");
}
8)Now run this application.
9)Now when you click on the first cell on any row in the
grid,nothing happens.However,when you click on the second
row,you will find "Sending..Please Wait.." written briefly
and the number will change to values HIGH,if value is
greater than 30 and LOW if vice-versa.Hope this will help
someone.....
| Is This Answer Correct ? | 3 Yes | 0 No |
Post New Answer View All Answers
What is the difference between runtime version and version?
Define transparent caching with aop?
What is server side session management?
What is break mode?
What is difference between session and viewstate?
What is a web based system?
How do active server pages work?
What is %20 in a url?
What are httphandlers and httpmodules and difference between them?
How can we update records in gridview?Is there any appropriate code for it?
What is a page life cycle? What are the events in a page life cycle?
What are server-side comments in ASP.NET?
What are the memory-mapped files?
Explain how do you deploy your asp.net application?
Describe paging in asp.net?