Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

getting error on row click

1 view
Skip to first unread message

JohnE

unread,
Mar 20, 2010, 5:49:01 PM3/20/10
to
Hello. I have a gridview that needs to have a nested gridview. I got it to
work using arrows but need to reclaim some real estate so I am moving over to
a row click to show the nested gridview. Will show the code at the end of
this post. What is occurring is the mouseover/onmouseout work. It is the
click of the row that causes the issue. I get a javascript error saying
'object required'. At the start of each row there is an 'Edit' that now also
throws the error but does go into the edit mode when the 'No' is clicked on
the error.

The error comes to this line in the javascript;

if (div.style.display == "none")

Here is the whole javascript plus the ondatabound code behind.

<script language="javascript" type = "text/javascript">
var currentlyOpenedDiv = "";
function CollapseExpand(object)
{
var div = document.getElementById(object);
if (currentlyOpenedDiv != "" && currentlyOpenedDiv != div)
{
currentlyOpenedDiv.style.display = "none";
}
if (div.style.display == "none")
{
div.style.display = "inline";
currentlyOpenedDiv = div;
}
else
{
div.style.display = "none";
}
}
</script>

protected void gvwChangeRequestList_RowDataBound(object sender,
GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover",
"this.style.backgoundcolor='#4A4A4A'; this.style.cursor='pointer';
this.style.color='blue'");
e.Row.Attributes.Add("onmouseout",
"this.style.backgroundcolor='#FFFFFF'; this.style.color='black'");
e.Row.ToolTip = "Click on the row to view any children to " +
e.Row.Cells[2].Text;

GridView child = (GridView)e.Row.FindControl("gvwChild");
if (child != null)
{
SqlDataSource dbChild = new SqlDataSource();
dbChild.ConnectionString =
ConfigurationManager.ConnectionStrings["ProteusConnectionString"].ConnectionString;
dbChild.SelectCommand = "SELECT * " +
"FROM tblChangeRequest " +
"WHERE IsChildOf = '" +
((DataRowView)e.Row.DataItem)["ChangeRequestID"].ToString() + "' " +
"ORDER BY DevTargetEndDate";
child.DataSource = dbChild;
child.DataBind();
}
e.Row.Attributes.Add("onclick", "javascript:CollapseExpand('" +
e.Row.Cells[3].Text + "')");
}
}


I found the basic row click info when googling. Can anyone see what is
wrong here as to why the error and how to keep the 'Edit' from being involved
in the row click?

Thanks for your time.

... John

JohnE

unread,
Mar 21, 2010, 1:23:02 AM3/21/10
to
Hi. For what I have below, there is more to add. After a break, I came back
and dug into this more. The nested gridview is there and populated. As I
had it display when the gridview opens. I found the problem in asking for
'object' is coming from the following line;

e.Row.Attributes.Add("onclick", "javascript:CollapseExpand('" +

e.Row.Cells[0].Text + "')");

When this line is commented out no error. When ('" + e.Row.Cells[0].Text +
"') this part is removed, no error. This is the object part of the
javascript function. So this is what should be looked at. And also a way to
avoid the first column with 'Edit' in it for editing the row.

Thanks...John

0 new messages