DataGrid get value of row JavaScript

A

ABHIJIT B

Hi,

In one of my Web page I am using Datagrid which allows single row
selection at a time.

I want to get value of row selected through JavaScript or in .cs file

Thanks in Advance.

ASPX code :

<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script language="javascript" type="text/javascript">

function fnCheckSel(intObjId)
{
//alert("Hi");
var strSceTypeId;
strSceTypeId = intObjId + "1"
for (var i=1; i<document.forms(0).length; i++)
{ if(document.forms(0).elements.id )
{ if(document.forms(0).elements.id.indexOf("radUserAccount")!
=-1)
{if
(document.forms(0).elements.id.indexOf("radUserAccount1")==-1)
{document.forms(0).elements.checked=false
}}}} //end for
document.getElementById(intObjId).checked=true

var k = intObjId;
document.getElementById('<%=hidUser.ClientID%>').value = intObjId;

var i = document.getElementById('<%=hidUser.ClientID%>').value;
alert(i);

document.getElementById("lblUser").innerHTML = "change in text or
whatever";
//document.all('lblUser').innerHTML ="hello word"
}//end function

function fnCheckVal(intObjId)
{
var found_it ;
for (var i=1; i<document.forms(0).length; i++)
{ if(document.forms(0).elements.id )
{ if(document.forms(0).elements.id.indexOf("radUserAccount")!
=-1)
{if (document.forms(0).elements.checked)
{// Set the flag if any radio button is checked
found_it = true;
break;
}}}}
if(!found_it)
{alert("Select an Account");
return false;
}
else
{return true;
}
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:datagrid id="dgrUserAcctList" runat="server"
GridLines="Horizontal" OnItemDataBound="dgrUserAcctList_ItemDataBound"
AutoGenerateColumns="False"
OnSelectedIndexChanged="dgrUserAcctList_SelectedIndexChanged"
Width="135px" >
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:RadioButton id="radUserAccount" runat="server" Text=''
OnCheckedChanged="radUserAccount_CheckedChanged"></asp:RadioButton>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="User" HeaderText="User"> </
asp:BoundColumn>
</Columns>
</asp:datagrid>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click"
Text="Button" />&nbsp;

<br />
<input id="hidUser" runat="server" type="hidden" />
<br />
<asp:Label ID="lblUser" runat="server" Text="Label"
Width="75px"></asp:Label>
</div>
</form>
</body>
</html>

---------------------
..CS code:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("User");

for(int i = 0; i < 100; i++)
{
dt.Rows.Add();
dt.Rows["User"] = i;
}

dgrUserAcctList.DataSource = dt;
dgrUserAcctList.DataBind();

foreach (DataGridItem item in this.dgrUserAcctList.Items)
{
RadioButton rd =
(RadioButton)item.FindControl("radUserAccount");
if ((rd != null) && rd.Checked == true)
{
string hidDCUser =
item.Cells[1].Text.Trim().ToString();
return;
}
}
}
protected void dgrUserAcctList_ItemDataBound(object sender,
DataGridItemEventArgs e)
{
try
{
if (e.Item.ItemIndex > -1)
{
string strSelRadio =
e.Item.Cells[0].FindControl("radUserAccount").ClientID;

((RadioButton)e.Item.FindControl("radUserAccount")).Attributes.Add("onClick",
"fnCheckSel('" + strSelRadio + "')");
}
}
catch(Exception ex)
{
Response.Write(ex.Message);
//Exception handling
}
}

protected void dgrUserAcctList_SelectedIndexChanged(object sender,
EventArgs e)
{
string cstr =
dgrUserAcctList.SelectedItem.Cells[1].ToString();

}
protected void Button1_Click(object sender, EventArgs e)
{
foreach (DataGridItem item in this.dgrUserAcctList.Items)
{
//RadioButton rd =
(RadioButton)item.FindControl("radUserAccount");
//if ((rd != null) && rd.Checked == true)
//{

string hid = hidUser.Value;

int i = hid.IndexOf("_ctl");
//hid = hid.Remove();

string hidDCUser =
item.Cells[2].Text.Trim().ToString();

//Label ID = (Label)item.FindControl("User");
//Response.Write (ID.Text);
// return;
//}
}

foreach (DataGridItem gvr in this.dgrUserAcctList.Items)
{
if
(((RadioButton)gvr.FindControl("radUserAccount")).Checked)
{
//access all elements using myRow.FindControl blah
blah
string hidDCUser =
gvr.Cells[1].Text.Trim().ToString();
string hidDCUser1 =
gvr.Cells[2].Text.Trim().ToString();
}
}
}

protected void radUserAccount_CheckedChanged(object sender,
EventArgs e)
{
foreach (DataGridItem gvr in this.dgrUserAcctList.Items)
{
if
(((RadioButton)gvr.FindControl("radUserAccount")).Checked)
{
//access all elements using myRow.FindControl blah
blah
string hidDCUser =
gvr.Cells[1].Text.Trim().ToString();
string hidDCUser1 =
gvr.Cells[2].Text.Trim().ToString();
}

}
//DataView gvTemp = (DataView)sender;
//string cstr =
gvTemp.Tables[0].Rows[gvTemp.SelectedIndex].Cells[1].Text;
}
}




Best Regards,
Abhijit B
 
M

Manish

Hi Abhijit,

You can retreive the value of the row when you select that row in the
SelectedIndexChanged event of the gridview as:

Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e
As System.EventArgs) Handles GridView1.SelectedIndexChanged
Response.Write(Me.GridView1.SelectedRow.Cells(0).Text.ToString())
End Sub

Regards,
Manish

www.ComponentOne.com


ABHIJIT B said:
Hi,

In one of my Web page I am using Datagrid which allows single row
selection at a time.

I want to get value of row selected through JavaScript or in .cs file

Thanks in Advance.

ASPX code :

<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script language="javascript" type="text/javascript">

function fnCheckSel(intObjId)
{
//alert("Hi");
var strSceTypeId;
strSceTypeId = intObjId + "1"
for (var i=1; i<document.forms(0).length; i++)
{ if(document.forms(0).elements.id )
{ if(document.forms(0).elements.id.indexOf("radUserAccount")!
=-1)
{if
(document.forms(0).elements.id.indexOf("radUserAccount1")==-1)
{document.forms(0).elements.checked=false
}}}} //end for
document.getElementById(intObjId).checked=true

var k = intObjId;
document.getElementById('<%=hidUser.ClientID%>').value = intObjId;

var i = document.getElementById('<%=hidUser.ClientID%>').value;
alert(i);

document.getElementById("lblUser").innerHTML = "change in text or
whatever";
//document.all('lblUser').innerHTML ="hello word"
}//end function

function fnCheckVal(intObjId)
{
var found_it ;
for (var i=1; i<document.forms(0).length; i++)
{ if(document.forms(0).elements.id )
{ if(document.forms(0).elements.id.indexOf("radUserAccount")!
=-1)
{if (document.forms(0).elements.checked)
{// Set the flag if any radio button is checked
found_it = true;
break;
}}}}
if(!found_it)
{alert("Select an Account");
return false;
}
else
{return true;
}
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:datagrid id="dgrUserAcctList" runat="server"
GridLines="Horizontal" OnItemDataBound="dgrUserAcctList_ItemDataBound"
AutoGenerateColumns="False"
OnSelectedIndexChanged="dgrUserAcctList_SelectedIndexChanged"
Width="135px" >
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:RadioButton id="radUserAccount" runat="server" Text=''
OnCheckedChanged="radUserAccount_CheckedChanged"></asp:RadioButton>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="User" HeaderText="User"> </
asp:BoundColumn>
</Columns>
</asp:datagrid>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click"
Text="Button" />

<br />
<input id="hidUser" runat="server" type="hidden" />
<br />
<asp:Label ID="lblUser" runat="server" Text="Label"
Width="75px"></asp:Label>
</div>
</form>
</body>
</html>

---------------------
..CS code:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("User");

for(int i = 0; i < 100; i++)
{
dt.Rows.Add();
dt.Rows["User"] = i;
}

dgrUserAcctList.DataSource = dt;
dgrUserAcctList.DataBind();

foreach (DataGridItem item in this.dgrUserAcctList.Items)
{
RadioButton rd =
(RadioButton)item.FindControl("radUserAccount");
if ((rd != null) && rd.Checked == true)
{
string hidDCUser =
item.Cells[1].Text.Trim().ToString();
return;
}
}
}
protected void dgrUserAcctList_ItemDataBound(object sender,
DataGridItemEventArgs e)
{
try
{
if (e.Item.ItemIndex > -1)
{
string strSelRadio =
e.Item.Cells[0].FindControl("radUserAccount").ClientID;

((RadioButton)e.Item.FindControl("radUserAccount")).Attributes.Add("onClick",
"fnCheckSel('" + strSelRadio + "')");
}
}
catch(Exception ex)
{
Response.Write(ex.Message);
//Exception handling
}
}

protected void dgrUserAcctList_SelectedIndexChanged(object sender,
EventArgs e)
{
string cstr =
dgrUserAcctList.SelectedItem.Cells[1].ToString();

}
protected void Button1_Click(object sender, EventArgs e)
{
foreach (DataGridItem item in this.dgrUserAcctList.Items)
{
//RadioButton rd =
(RadioButton)item.FindControl("radUserAccount");
//if ((rd != null) && rd.Checked == true)
//{

string hid = hidUser.Value;

int i = hid.IndexOf("_ctl");
//hid = hid.Remove();

string hidDCUser =
item.Cells[2].Text.Trim().ToString();

//Label ID = (Label)item.FindControl("User");
//Response.Write (ID.Text);
// return;
//}
}

foreach (DataGridItem gvr in this.dgrUserAcctList.Items)
{
if
(((RadioButton)gvr.FindControl("radUserAccount")).Checked)
{
//access all elements using myRow.FindControl blah
blah
string hidDCUser =
gvr.Cells[1].Text.Trim().ToString();
string hidDCUser1 =
gvr.Cells[2].Text.Trim().ToString();
}
}
}

protected void radUserAccount_CheckedChanged(object sender,
EventArgs e)
{
foreach (DataGridItem gvr in this.dgrUserAcctList.Items)
{
if
(((RadioButton)gvr.FindControl("radUserAccount")).Checked)
{
//access all elements using myRow.FindControl blah
blah
string hidDCUser =
gvr.Cells[1].Text.Trim().ToString();
string hidDCUser1 =
gvr.Cells[2].Text.Trim().ToString();
}

}
//DataView gvTemp = (DataView)sender;
//string cstr =
gvTemp.Tables[0].Rows[gvTemp.SelectedIndex].Cells[1].Text;
}
}




Best Regards,
Abhijit B
 
A

ABHIJIT B

Thanks Manish

Best Regards,
Abhijit B

Hi Abhijit,

You can retreive the value of the row when you select that row in the
SelectedIndexChanged event of the gridview as:

Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e
As System.EventArgs) Handles GridView1.SelectedIndexChanged
Response.Write(Me.GridView1.SelectedRow.Cells(0).Text.ToString())
End Sub

Regards,
Manish

www.ComponentOne.com

ABHIJIT B said:
In one of my Web page I am using Datagrid which allows single row
selection at a time.
I want to get value of row selected through JavaScript or in .cs file
Thanks in Advance.
ASPX code :
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="javascript" type="text/javascript">
function fnCheckSel(intObjId)
{
//alert("Hi");
var strSceTypeId;
strSceTypeId = intObjId + "1"
for (var i=1; i<document.forms(0).length; i++)
{ if(document.forms(0).elements.id )
{ if(document.forms(0).elements.id.indexOf("radUserAccount")!
=-1)
{if
(document.forms(0).elements.id.indexOf("radUserAccount1")==-1)
{document.forms(0).elements.checked=false
}}}} //end for
document.getElementById(intObjId).checked=true

var k = intObjId;
document.getElementById('<%=hidUser.ClientID%>').value = intObjId;
var i = document.getElementById('<%=hidUser.ClientID%>').value;
alert(i);
document.getElementById("lblUser").innerHTML = "change in text or
whatever";
//document.all('lblUser').innerHTML ="hello word"
}//end function
function fnCheckVal(intObjId)
{
var found_it ;
for (var i=1; i<document.forms(0).length; i++)
{ if(document.forms(0).elements.id )
{ if(document.forms(0).elements.id.indexOf("radUserAccount")!
=-1)
{if (document.forms(0).elements.checked)
{// Set the flag if any radio button is checked
found_it = true;
break;
}}}}
if(!found_it)
{alert("Select an Account");
return false;
}
else
{return true;
}
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:datagrid id="dgrUserAcctList" runat="server"
GridLines="Horizontal" OnItemDataBound="dgrUserAcctList_ItemDataBound"
AutoGenerateColumns="False"
OnSelectedIndexChanged="dgrUserAcctList_SelectedIndexChanged"
Width="135px" >
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:RadioButton id="radUserAccount" runat="server" Text=''
OnCheckedChanged="radUserAccount_CheckedChanged"></asp:RadioButton>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="User" HeaderText="User"> </
asp:BoundColumn>
</Columns>
</asp:datagrid>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click"
Text="Button" />
<br />
<input id="hidUser" runat="server" type="hidden" />
<br />
<asp:Label ID="lblUser" runat="server" Text="Label"
Width="75px"></asp:Label>
</div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("User");
for(int i = 0; i < 100; i++)
{
dt.Rows.Add();
dt.Rows["User"] = i;
}

dgrUserAcctList.DataSource = dt;
dgrUserAcctList.DataBind();
foreach (DataGridItem item in this.dgrUserAcctList.Items)
{
RadioButton rd =
(RadioButton)item.FindControl("radUserAccount");
if ((rd != null) && rd.Checked == true)
{
string hidDCUser =
item.Cells[1].Text.Trim().ToString();
return;
}
}
}
protected void dgrUserAcctList_ItemDataBound(object sender,
DataGridItemEventArgs e)
{
try
{
if (e.Item.ItemIndex > -1)
{
string strSelRadio =
e.Item.Cells[0].FindControl("radUserAccount").ClientID;
((RadioButton)e.Item.FindControl("radUserAccount")).Attributes.Add("onClick",
"fnCheckSel('" + strSelRadio + "')");
}
}
catch(Exception ex)
{
Response.Write(ex.Message);
//Exception handling
}
}
protected void dgrUserAcctList_SelectedIndexChanged(object sender,
EventArgs e)
{
string cstr =
dgrUserAcctList.SelectedItem.Cells[1].ToString();
}
protected void Button1_Click(object sender, EventArgs e)
{
foreach (DataGridItem item in this.dgrUserAcctList.Items)
{
//RadioButton rd =
(RadioButton)item.FindControl("radUserAccount");
//if ((rd != null) && rd.Checked == true)
//{
string hid = hidUser.Value;
int i = hid.IndexOf("_ctl");
//hid = hid.Remove();
string hidDCUser =
item.Cells[2].Text.Trim().ToString();
//Label ID = (Label)item.FindControl("User");
//Response.Write (ID.Text);
// return;
//}
}
foreach (DataGridItem gvr in this.dgrUserAcctList.Items)
{
if
(((RadioButton)gvr.FindControl("radUserAccount")).Checked)
{
//access all elements using myRow.FindControl blah
blah
string hidDCUser =
gvr.Cells[1].Text.Trim().ToString();
string hidDCUser1 =
gvr.Cells[2].Text.Trim().ToString();
}
}
}
protected void radUserAccount_CheckedChanged(object sender,
EventArgs e)
{
foreach (DataGridItem gvr in this.dgrUserAcctList.Items)
{
if
(((RadioButton)gvr.FindControl("radUserAccount")).Checked)
{
//access all elements using myRow.FindControl blah
blah
string hidDCUser =
gvr.Cells[1].Text.Trim().ToString();
string hidDCUser1 =
gvr.Cells[2].Text.Trim().ToString();
}
}
//DataView gvTemp = (DataView)sender;
//string cstr =
gvTemp.Tables[0].Rows[gvTemp.SelectedIndex].Cells[1].Text;
}
}
Best Regards,
Abhijit B
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,062
Latest member
OrderKetozenseACV

Latest Threads

Top