نماذج ويب ASP.NET - التحكم في قائمة البيانات
يقدم هذا القسم يعد عنصر التحكم DataList ASP.NET أكثر مرونة من عنصر التحكم Repeater. يقدم عنصر التحكم DataList البيانات في شكل جدول.يتم استخدام عنصر التحكم DataList، المشابه لعنصر التحكم Repeater، لعرض قائمة متكررة من العناصر المرتبطة بعنصر التحكم. ومع ذلك، يقوم عنصر التحكم DataList بإضافة جدول إلى عناصر البيانات بشكل افتراضي.
ربط DataSet بعنصر تحكم DataList
يتم استخدام عنصر التحكم DataList، المشابه لعنصر التحكم Repeater، لعرض قائمة متكررة من العناصر المرتبطة بعنصر التحكم. ومع ذلك، يقوم عنصر التحكم DataList بإضافة جدول إلى عناصر البيانات بشكل افتراضي. يمكن ربط عنصر التحكم DataList بجدول قاعدة بيانات أو ملف XML أو قائمة عناصر أخرى. سنوضح هنا كيفية ربط ملف XML بعنصر تحكم DataList.
في مثالنا، سوف نستخدم ملف XML التالي ("cdcatalog.xml"):
<?xml version="1.0" encoding="ISO-8859-1"?><catalog><cd><title>Empire Burlesque</title><artist>بوب ديلان</artist><country>الولايات المتحدة الأمريكية</country ><شركة>كولومبيا</company><price>10.90</price><year>1985</year></cd><cd><title>أخفي قلبك</title><artist>بوني تايلر</artist><country>المملكة المتحدة</country><company>سجلات CBS</company><price>9.90</price><year>1988</year></cd><cd><title>أعظم الأغاني </title><artist>دوللي بارتون</artist><country>الولايات المتحدة الأمريكية</country><company>RCA</company><price>9.90</price><year>1982</year></cd><cd><title>لا تزال تحصل على البلوز</title><artist>غاري مور</artist><country>المملكة المتحدة</country><company>فيرجن السجلات</company><price>10.20</price><year>1990</year></cd><cd><title>إيروس</title><artist>إيروس رامازوتي</artist><country>الاتحاد الأوروبي< /country><company>BMG</company><price>9.90</price><year>1997</year></cd></catalog>عرض ملف XML هذا: cdcatalog.xml
أولاً، قم باستيراد مساحة الاسم "System.Data". نحن بحاجة إلى مساحة الاسم هذه للعمل مع كائنات DataSet. قم بتضمين التوجيه التالي في أعلى صفحة .aspx الخاصة بك:
<%@ استيراد مساحة الاسم = "System.Data" %>بعد ذلك، قم بإنشاء DataSet لملف XML وقم بتحميل ملف XML إلى DataSet عند تحميل الصفحة لأول مرة:
<script runat="server">sub Page_Loadif Not Page.IsPostBack thendim mycdcatalog=New DataSetmycdcatalog.ReadXml(MapPath("cdcatalog.xml"))end ifend subثم نقوم بإنشاء عنصر تحكم DataList في صفحة .aspx. يتم عرض المحتوى الموجود في عنصر <HeaderTemplate> أولاً ويظهر مرة واحدة فقط في الإخراج، بينما يتم تكرار المحتوى الموجود في عنصر <ItemTemplate> لكل "سجل" في DataSet، وأخيرًا، يتم إعادة المحتوى الموجود في عنصر <FooterTemplate> يظهر مرة واحدة فقط في الإخراج:
<html><body><form runat="server"><asp:DataList id="cdcatalog" runat="server"><HeaderTemplate>...</HeaderTemplate><ItemTemplate>...</ItemTemplate>< FooterTemplate>...</FooterTemplate></asp:DataList></form></body></html>ثم نقوم بإضافة البرنامج النصي لإنشاء DataSet وربط mycdcatalog DataSet بعنصر التحكم DataList. يتم بعد ذلك ملء عنصر التحكم DataList بـ <HeaderTemplate> الذي يحتوي على الرأس، و<ItemTemplate> الذي يحتوي على عناصر البيانات التي سيتم عرضها، و<FooterTemplate> الذي يحتوي على النص. لاحظ أنه يمكنك تعيين خاصية خطوط الشبكة الخاصة بـ DataList على "كلاهما" لعرض حدود الجدول:
مثال
<%@ Import Namespace="System.Data" %><script runat="server">Page_Loadif ليس Page.IsPostBack thendim mycdcatalog=New DataSetmycdcatalog.ReadXml(MapPath("cdcatalog.xml"))cdcatalog.DataSource=mycdcatalogcdcatalog. DataBind()end ifend sub</script><html><body><form runat="server"><asp:DataList id="cdcatalog"gridlines="both" runat="server"><HeaderTemplate>كتالوج القرص المضغوط الخاص بي</HeaderTemplate><ItemTemplate>"<%#Container.DataItem("title" )%>" من <%#Container.DataItem("artist")%> -$<%#Container.DataItem("price")%></ItemTemplate><FooterTemplate>حقوق الطبع والنشر هيجي Refsnes</FooterTemplate></asp:DataList></form></body></html>استخدم الأنماط
يمكنك أيضًا إضافة أنماط إلى عنصر تحكم DataList لجعل الإخراج أكثر روعة:
مثال
<%@ Import Namespace="System.Data" %><script runat="server">Page_Loadif ليس Page.IsPostBack thendim mycdcatalog=New DataSetmycdcatalog.ReadXml(MapPath("cdcatalog.xml"))cdcatalog.DataSource=mycdcatalogcdcatalog. DataBind()end ifend sub</script><html><body><form runat="server"><asp:DataList معرف = "cdcatalog"runat = "الخادم" cellpadding = "2" cellspaceing = "2"borderstyle = "إدراج" backcolor = "#e8e8e8"headerstyle-font-name = "Verdana"headerstyle-font-size = "12pt"headerstyle -أفق lalign="center"headerstyle-font-bold="true"itemstyle-backcolor="#778899"itemstyle-forecolor="#ffffff"footerstyle-font-size="9pt"footerstyle-font-italic="true">< قالب الرأس > My كتالوج القرص المضغوط</HeaderTemplate><ItemTemplate>"<%#Container.DataItem("title")%>" of<%#Container.DataItem("artist")%> -$<%#Container.DataItem("price" )%></ItemTemplate><FooterTemplate>حقوق الطبع والنشر لـ Hege المراجع</FooterTemplate></asp:DataList></form></body></html>استخدم <AlternatingItemTemplate>
يمكنك إضافة عنصر <AlternatingItemTemplate> بعد عنصر <ItemTemplate> لوصف مظهر الصفوف البديلة في الإخراج. يمكنك إضافة أنماط إلى البيانات الموجودة في منطقة <AlternatingItemTemplate> داخل عنصر التحكم DataList:
مثال
<%@ Import Namespace="System.Data" %><script runat="server">Page_Loadif ليس Page.IsPostBack thendim mycdcatalog=New DataSetmycdcatalog.ReadXml(MapPath("cdcatalog.xml"))cdcatalog.DataSource=mycdcatalogcdcatalog. DataBind()end ifend sub</script><html><body><form runat="server"><asp:DataList معرف = "cdcatalog"runat = "الخادم" cellpadding = "2" cellspaceing = "2"borderstyle = "إدراج" backcolor = "#e8e8e8"headerstyle-font-name = "Verdana"headerstyle-font-size = "12pt"headerstyle -horizontalalign="center"headerstyle-font-bold="Tr ue"itemstyle-backcolor = "#778899"itemstyle-forecolor = "#ffffff"alternatingitemstyle-backcolor = "#e8e8e8"alternatingitemstyle-forecolor = "#000000"footerstyle-font-size = "9pt"footerstyle-font-italic =" صحيح"><HeaderTemplate>My كتالوج القرص المضغوط</HeaderTemplate><ItemTemplate>"<%#Container.DataItem("title")%>" of<%#Container.DataItem("artist")%> -$<%#Container.DataItem("price" )%></ItemTemplate><AlternatingItemTemplate>"<%#Container.DataItem("title")%>" of<%#Container.DataItem("artist")%> -$<%#Container.DataItem("price")%></AlternatingItemTemplate><FooterTemplate>© Hege Refsnes</FooterTemplate></asp:DataList>< / النموذج >< / الجسم >< / أتش تي أم أل >