الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعده في تغيير لون الخلفيه في datagrid بطريقه خاصه

بدأه جودي1 في 13 أغسطس 2011 · 5 رد · 601 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبه اريد ان اغير لون الخلفيه عندما اعمل 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 الكتب لمن يريد التجربه

aspnetbooks.rar

تم تعديل هذه المشاركة بواسطة جودي1 في 13 أغسطس 2011 في 00:55

#2

السلام عليكم ورحمه الله وبركاته

اختي يمكنك تغيير خاصية لون الخلفية للخاصيتين AlternatingRowStyle و RowStyle, شوفي الروابط التاليه

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowstyle.aspx

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.alternatingrowstyle.aspx

.:: Wish to become better and better ::.

#3

هذا بعرفو

بس هون ما يزبط لان الموضوع بتعلق في اكثر من وضع افكر ان نغير في js انا مانجحت ابدا هذي اللغه ما تعاملت معها كثير

انا عارضه المثال لانه بسيط انا عندي شي ثاني اكثر تعقيد لو بدي اعمل تلوين زي مايكروسفت مبدها بيسير زي الثور الابرق بس لو اعرف اطبق على هذا المثال خلص انحلت المشكله

تم تعديل هذه المشاركة بواسطة جودي1 في 13 أغسطس 2011 في 05:52

#4

السلام عليكم ورحمه الله وبركاته

اختي ممكن توضحي المطلوب التفصيل؟!!

.:: Wish to become better and better ::.

#5

شوف واحد وثلاثه المفتوحه هيك في النهايه رح يكون طبعا انا عملت اطار المقصود هو كل الخلفيه

الخلفيه تحت كل العنصر عند فتحه

mypwk.jpg

Uploaded with ImageShack.us

تم تعديل هذه المشاركة بواسطة جودي1 في 13 أغسطس 2011 في 18:35

#6

واخيرا بعد ساعات عمل زبطت الطبخه غيرت js

شكرا لمن حاول مساعدتي وهذه النتيجه الجديده والتي كنت اريدها

<%@ 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>
      <script language="javascript">
          function show(ele) {
              var srcElement = document.getElementById(ele);
              if (srcElement != null) {
                  if (srcElement.style.display == "block") {
                      srcElement.style.display = 'none';
                  }
                  else {
                      srcElement.style.display = 'block';

                  }
              }
              //return false;
          }


          function hide(ele) {
              var srcElement = document.getElementById(ele);
              if (srcElement != null) {
                  if (srcElement.style.display == "block") {
                      srcElement.style.display = 'none';
                  }
                  else {
                      srcElement.style.display = 'none';
                  }
              }
              //return false;
          }
</script>
<html>
<head>


</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>
                      <div id="<%# DataBinder.Eval(Container.DataItem, "bookID")+ "min" %>">
                                    <a id='<%# DataBinder.Eval(Container.DataItem, "bookID") %>link' href="javascript:show('<%# DataBinder.Eval(Container.DataItem, "bookID")+"full" %>',hide('<%# DataBinder.Eval(Container.DataItem, "bookID")+ "min" %>'))">Show
                                    Details</a> 
                              </div>
                  <div id='<%# DataBinder.Eval(Container.DataItem, "bookID")+"full" %>' style="font-size: 16px; height: 50px; display:none; background-color:#eeeeee; " >
                <a id='A1' href="javascript:show('<%# DataBinder.Eval(Container.DataItem, "bookID")+"min" %>',hide('<%# DataBinder.Eval(Container.DataItem, "bookID")+ "full" %>'))">Show
                                    Details</a> 

                             <br />

                                    <b>Price:</b><%# DataBinder.Eval(Container.DataItem, "Price") %><b>Year:</b><%# DataBinder.Eval(Container.DataItem, "Year") %>

                  <br />
                                    <b>Title:</b><%# DataBinder.Eval(Container.DataItem, "Title") %>

                 </div>
                    </ItemTemplate>

                </asp:TemplateColumn>
            </Columns>


        </asp:DataGrid>
    </form>


</body>
</html>

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…