مرحبه اريد ان اغير لون الخلفيه عندما اعمل show في الكود التالي لكن ليس تغيير خلفية الخليه التي تظم المعلومه المعروضه فقط بل كل معلومات ال item
في هذا المثال اريد تغيير الخلفيه لتضم ال hide وسعر الكتاب والعنوان للكتاب المعروض
هذا الكود
<%@ Page Language="C#" Debug="true" %>
<%@ import Namespace="System.Data" %>
<script runat="server">
public void Page_Load(Object sender, EventArgs e)
{
string books = Server.MapPath("aspnetbooks.xml");
DataSet dataSet = new DataSet();
dataSet.ReadXml(books);
dgBooks.DataSource = dataSet;
dgBooks.DataBind();
}
</script>
<html>
<head>
<script type="text/javascript">
var action;
IE4 = (document.all && !document.getElementById) ? true : false;
NS4 = (document.layers) ? true : false;
IE5 = (document.all && document.getElementById) ? true : false;
NS6 = (!document.all && document.getElementById) ? true : false;
function showDetails(action)
{
x = 0;
changeText(arguments[x]);
if (IE4) { prefix = document.all(arguments[x]).style; }
if (NS6 || IE5) { prefix = document.getElementById(arguments[x]).style }
if (NS4){ prefix = document.layers(arguments[x]); }
if (prefix.visibility == "visible")
{
prefix.visibility = "hidden";
prefix.fontSize = "0";
}
else
{
prefix.visibility = "visible";
prefix.fontSize = "16";
}
}
function changeText(link)
{
link += "link";
linkText = document.getElementById(link);
linkText.firstChild.nodeValue;
if (linkText.firstChild.nodeValue == "Show Details")
{
linkText.firstChild.nodeValue = "Hide Details";
}
else
{
linkText.firstChild.nodeValue = "Show Details";
}
}
</script>
</head>
<body>
<form runat="server" dir="rtl">
<asp:DataGrid id="dgBooks" runat="server" Height="35px"
autoGenerateColumns="False" BorderStyle="None" GridLines="None">
<AlternatingItemStyle BorderStyle="None" ></AlternatingItemStyle>
<Columns>
<asp:TemplateColumn HeaderStyle-BorderStyle="None">
<ItemTemplate>
<table id= "Table1" dir="rtl" align="right" frame="void">
<tr>
<td>
<a id='<%# DataBinder.Eval(Container.DataItem, "bookID") %>link' href="javascript:showDetails('<%# DataBinder.Eval(Container.DataItem, "bookID") %>')">Show
Details</a>
</td>
</tr>
<tr>
</tr>
<tr id='<%# DataBinder.Eval(Container.DataItem, "bookID") %>' style="font-size: 0px; height: 0px; visibility: hidden; " >
<td>
<b>Price:</b><%# DataBinder.Eval(Container.DataItem, "Price") %><b>Year:</b><%# DataBinder.Eval(Container.DataItem, "Year") %></td>
</tr>
<td>
<b>Title:</b><%# DataBinder.Eval(Container.DataItem, "Title") %></td>
</table>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>مرفق xml الكتب لمن يريد التجربه
