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

Expand Collapse إخفاء وإظهار البيانات في Datalist

بدأه balanced في 27 ديسمبر 2009 · 2 رد · 731 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

عندي سؤال إن شاء الله أنكم قادرين على حله

عندي بيانات عبارة عن سؤال وجواب موجودة في تيبل وليكن اسمه QA و يتم عرض هذه البيانات في datalist

تكون عندي مجموعة من الأسئلة وتختفي تحت كل سؤال الجواب الخاص فيه وبمجرد الضغط على السؤال تظهر الإجابة الخاصة به في نفس الصفحة تحت السؤال

سؤالي كيف أجعل الإجابة مخفية تحت السؤال

بحثت كثيراً عن الـexpand , collapse

لكن كل الأكواد التي أجدها لا تأخذ البيانات من الداتابيس بل تكون كتابةً في الكود نفسه

وغالبها تكون مكتوبة أيضاً في لغة السي شارب وأنا شغلي بلغة الـVB.net

لا أشترط كون البيانات تكون موجودة في datalist

كل همي أن معرفة طريقة إخفاء الجواب وإظهاره بالضغط على السؤال

تشبه طريقة الأسئلة لموجودة في هذا الرابط

http://ir.iac.com/faq.cfm

#2

السلام عليكم ورحمة الله

هذا كود قد اعدته ويعمل نفس عمل collapse panel

قد اعددت بيانات وهمية في داله منفصلة يمكن استبدالها

 /// <summary>
    /// Create Data Source and insert temp data
    /// </summary>
    /// <returns></returns>
    private  DataTable CreatData()
    {

        DataTable dt = new DataTable();
        DataColumn q = new DataColumn("Quest");
        DataColumn a = new DataColumn("Answer");
        dt.Columns.Add(q);
        dt.Columns.Add(a);
        for (int i = 0; i < 5; i++)
        {
            DataRow row = dt.NewRow();
            row["Quest"] = "Question" + i.ToString();
            row["Answer"] = "Answer" + i.ToString();
            dt.Rows.Add(row);
        }
        return dt;
    }
    /// <summary>
    /// Display Questions and answers
    /// </summary>
    /// <returns></returns>
   public  string DisplayQustions()
    {
        DataTable QA = CreatData();
        StringBuilder sb = new StringBuilder();
        int i=0;
        foreach (DataRow r in QA.Rows)
        {
            sb.Append(String.Format("<a href='javascript:showAndHide(\"DIV{0}\")'>", i));
            sb.Append(r["Quest"] + "</a>");
            sb.Append("<br/>");
            sb.Append(String.Format("<div id='DIV{0}' style='display:none;'>", i));
            sb.Append(r["Answer"] + "</div>");
            sb.Append("<br/>");
            i++;
        }
        return sb.ToString();
    }

وهذة هي صفحة ال ASPX بحيث يتم رسم الاسئلة والاجوبة داخلها

<%@ 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">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script language="javascript" type="text/javascript">
    function showAndHide(divName)
    {
    var objControl=document.getElementById(divName)
    if(null!=objControl)
    {
    if(objControl.style.display =="none")
      {
          objControl.style.display="block";    
      }
    else
      {
      objControl.style.display="none";  
      }
    }
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
       <%= DisplayQustions() %>

    </div>
    </form>
</body>
</html>

اللهم ارزقنا فهم النبيين وحفظ المرسلين

Hock341@yahoo.com

الشركة التطبيقية لخدمات الحاسب الالي [حاسب]

http://www.hasib.com.sa

مدونتي

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