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

كيف اضع marquee في خلية معينة من ال table

مغلق
بدأه ابو السموأل في 15 فبراير 2005 · 20 رد · 1,862 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني عندي table بتكون من ثلاث خلاية

وعندي marquee بدي احطها في الخلية رقم 2

مع العلم اني كاتب كود ال marquee في الحدث page_load وهذا هو

 Dim insert As String
        Dim reader As System.Data.SqlClient.SqlDataReader
        insert = "select * from Latest"
        Dim cmd As New SqlCommand(insert, cn)

        cn.Open()
        reader = cmd.ExecuteReader(CommandBehavior.Default)

        Response.Write("<marquee direction=right width=752 bgColor=#6d6fa7 height=17>")
        While (reader.Read)
            Response.Write("<a href=moreDetails.aspx?id=" & reader("id") & ">" & reader("LastSubject") & "</a>       ")
        End While
        reader.Close()
        cn.Close()
        Response.Write("</marquee>")
#2

لعمل Marquee تقرأ من قاعدة بيانات يمكنك وببساطة عمل Marquee في ال HTML بصورة طبيعية في الخلية التي تريدها ومن ثم اذهب الي الـ Design وقم باختيار ال Marquee ثم أضغط بالزر الايمن للماوس وأجعلها Run As Server Control وقم باعطائها اسم لامكانية الوصول اليها عن طريق الكود

وللوصول للنص الذي يتم تمريره لل Marquee

MarqueeName.InnerHtml="النص الذي يتم قراءته من قاعدة البيانات"

والله الموفق

#3

عفوا أخواني

ما هو ال Marquee ?

وجزاكم الله خيرا

#4

لو نظرت فوق بالمنتدى سوف تجد شريطا متحركا يعرض اخر المشاركات .. هذا هو مفهوم ال Marque

You can fly while you can touch the sky

#5

عفوا أخي أبو السموأل لم انتبه أن موضوعك جديد بل ظننته ردا قديما كان لي عن نفس الموضوع ..

عموما أنت لا تحتاج لكتابة ال Marque في ال PageLoad ولكن قم بعمل إجرائية يتم إستدعاؤها في الصفحة .. هكذا

//VB.NET Code
Sub Page_Load()

.......
End Sub

Sub GetMarque() 
Dim insert As String
       Dim reader As System.Data.SqlClient.SqlDataReader
       insert = "select * from Latest"
       Dim cmd As New SqlCommand(insert, cn)

       cn.Open()
       reader = cmd.ExecuteReader(CommandBehavior.Default)

       Response.Write("<marquee direction=right width=752 bgColor=#6d6fa7 height=17>")
       While (reader.Read)
           Response.Write("<a href=moreDetails.aspx?id=" & reader("id") & ">" & reader("LastSubject") & "</a>       ")
       End While
       reader.Close()
       cn.Close()
       Response.Write("</marquee>")

End Sub

...................
..................


<html>
<form>
<asp:ANYControl>
 <%GetMarque()%>
</asp:ANYCONTROL>
</form>
</html>

أو يمكنك وضعه داخل HTMLControl و هو الذي يفضل حتى لا تحتاج لإستخدام WebControl مستخدما الخاصية Text إن وجدت.

تم تعديل هذه المشاركة بواسطة محمد خليل أبو صلاح في 15 فبراير 2005 في 12:59

You can fly while you can touch the sky

#6

جزاكم الله كل خير اخواني

اخي محمد ابو صلاح لم شوفت اسمك اول مرة فرحت وقلت لنفسي الان راح اتعلم اشي جديد لكن لقيتك رادد على الاخ CONAN بس لما شفت الرد الي بعدوا افرحت جزاك الله كل خير

اخي ان شاء الله امتحان ال AI مشي معك تمام :)

#7

للأسف كنت أمر بظروف صعبة شوي و خبصت بالامتحان لكن الدكتور بيعرفني منيح و وعدني اني انجح :D

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

***************

ملاحظات :

إن إستخدمت حدث ال PageLoad يجب أن تقوم بإعطاء الخلية TD اسم معرف لها أي ID و تقوم بإسناد قيمة من نوع String لخاصية ال Text الخاصة بهذه الخلية

وإن أردت إستخدام WebControl تدعم الخاصية Text فكل ما عليك هو عمل دالة من نوع String تعيد في ال Return نص عبارة عن ال Marquee

انا لم انتبه بالأول لقصة انك تريد عرضها في خلية جدول

**************

تحياتي لك

تم تعديل هذه المشاركة بواسطة محمد خليل أبو صلاح في 15 فبراير 2005 في 13:47

You can fly while you can touch the sky

#8

اخي محمد ان اصلا مقسم الصفحة 5 اجزء

HEADER

FOTER

MENUS

LOGIN

وهذه الاربع كلهم UserControl

ام بانسبة لل Marquee فهي موجودة في الHEADER USER CONTROL

اخي محمد كم احب ان تدخل على موقعي و توجهني بشويت نصائح

عنون الموقع هو WWW.SCGATE.COM

#9

عموما انتبه لملاحظاتي فوق اللي أضفتها.

شفت الموقع على السريع وربما المسا بعد العودة من العمل سوف أقوم بجولة لتفقد موقعك لكن هو جميل بشكل عام.

على الأقل موقعك عالنت شغال وانا معطل :'(

بالتوفيق دائما لك

You can fly while you can touch the sky

#10

وانا كمان لما ارجع من الشغل راح اطبق الكود ان شاء الله

وجزاك الله كل خير

#11

:D اخي انسيت احكيلك في اسئلة AI في الموقع :lol:

#12

جزاك الله كل خير اخي زبطت تمام التمام

بارك الله فيك :)

#13

فات الأوان :)

المهم تكون جربت الأفكار و فرصة تتمرس على أكثر من طريقة

You can fly while you can touch the sky

#14

انا نصيحتي للاخوة ان يتخلو عن ASP style عند برمجة ASP.NET .الكود الذي تمت كتابته صحيح ويشتغل 100% لكن لا يعطينا تحكم اكبر في الواجهة خاصة استعمال Response.Write ,لذلك يمكن بسهولة استخدام اداة الRepeater لعمل نفس الشيء وبكود منظم :

لنجرب الاتي:

<asp:Repeater id="Repeater1" runat="server">
    <HeaderTemplate>
   	 <marquee direction=right width=752 bgColor=#6d6fa7 height=17>
    </HeaderTemplate>
    <ItemTemplate>
   	 <a href='news.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>'>DataBinder.Eval(Container.DataItem,"name")</a>
    </ItemTemplate>
    <SeparatorTemplate>  </SeparatorTemplate>
    <FooterTemplate>
   	 </marquee>
    </FooterTemplate>
 	 </asp:Repeater>

كما تلاحظون كلما نحتاجه هو تحديد بداية ال Marquee في الHeader

ثم تحديد الروابط التي تاتي من قاعدة البيانات في ItemTemplate ,بينما نستطيع اضافة الفراغ بين الروابط في SeperatorItem و نختم باغلاق الMarquee في الFooter

الان يبقى فقط كود الربط :

Repeater1.DataSource = ds;
Repeater1.DataBind();

مع تحياتي

مدني

#15

كلام سليم أستاذ مدني ;)

You can fly while you can touch the sky

#16

والله الموضوع صار اشي مفتخر

فعلا استاذ مدني قدرة عالية في التحكم :D

جزاك الله كل خير استاذ مدني

تم تعديل هذه المشاركة بواسطة ابو السموأل في 16 فبراير 2005 في 08:42

#17

اخواني انا طبقت الكود وكلوا تمام بس ما ظهرت فيه المواضيع

ظهر محلها الكود

 DataBinder.Eval(Container.DataItem,"name")    DataBinder.Eval(Container.DataItem,"name")    DataBinder.Eval(Container.DataItem,"name")

كتبت في الrepaeter

<asp:Repeater id="Repeater1" runat="server" DataSource="<%# News1 %>" DataMember="Latest">
    <ItemTemplate>
    	<a href='news.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>'>DataBinder.Eval(Container.DataItem,"name")</a>
    </ItemTemplate>
    <HeaderTemplate>
    	<marquee direction="right" width="752" height="17" bgcolor="Black">
    </HeaderTemplate>
    <FooterTemplate>
    	</marquee>
    </FooterTemplate>
    <SeparatorTemplate>
    	  
    </SeparatorTemplate>
  	</asp:Repeater>

وكتبت في page_load

  Me.SqlDataAdapter1.Fill(Me.News1)
 Repeater1.DataSource = Me.News1
        Repeater1.DataBind()

ما ظهرت فيه المواضيع ليش يا ترى

تم تعديل هذه المشاركة بواسطة ابو السموأل في 16 فبراير 2005 في 09:17

#18

ما هي ال News ؟ هل هي ال DataSet ؟

عند استخدام ال DataAdapter يجب أن تستخدم ال DataSet و تملأها بجداول البيانات التي تسندها لخاصية ال DataSource للأداة و بالتالي هنا News يجب أن تعبر عن Data Set.

اعتقد ان المشكلة كانت التالي

<asp:Repeater id="Repeater1" runat="server" DataSource="<%# News1 %>" DataMember="Latest">

أنك أعطيت قيمة إبتدائية لمصدر البيانات ثم في الحدث PAgeLoad قمت بإسناد البيانات مرة أخرى.. لم أجرب الكود لأني بالعمل ولكن أتوقع أن هذا هو السبب ..

You can fly while you can touch the sky

#19

انا متأسف هناك جزء من الكود سقط سهوا.

غير السطر :

<a href='news.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>'>DataBinder.Eval(Container.DataItem,"name")</a>

ليصبح :

<a href='news.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>'><%#DataBinder.Eval(Container.DataItem,"name")%></a>

مع تحياتي

#20

طريقة الأخ مدني هي الأفضل تماما ولكن في طريقتك يا أبو السموأل أمامك حلين إما أن تقوم بالربط داخل الحدث Page Load مثل طريقة الأخ مدني أو تقوم بتحديد ال Data Source للأداة بالأسفل

You can fly while you can touch the sky

#21

السلام عليكم اخي الكريم جزاك الله كل خير

انا اعملت مثل الاستاذ مدني و

زبطت الحمد لله

كنت ناسي احط #

:)

تم تعديل هذه المشاركة بواسطة ابو السموأل في 19 فبراير 2005 في 08:30

هذا الموضوع مغلق.

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

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

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

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

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