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

Master-Details with 2 pages

مغلق
بدأه ليلك في 12 أبريل 2007 · 3 رد · 813 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

بعد مافقدت الأمل في تنفيذ الفكرة تركت الموضوع..

الآن رجعت أحاول >>>العناد مشكلة :D

ونفذت الموضوع >>>صدقاً باستخدام كود من موقع codeproject اشتغلت عليه عشان أوصل للي أبغاه

تحديدا قاعدة أتكلم عن كيفية إظهار بعض المعلومات من قاعدة البيانات في جدول..وبالضغط على (+) تظهر تفاصيل أخرى تحت كل صف

المشكلة الآن واللي أرجو إنكم تساعدوني فيها إن الطريقة ماشية تمام على localhost

لكن لما رفعتها على السيرفر وأضغط على (+) يفتح الفريم لكن مايظهر فيه شي

رح أشرح طريقة الكود على السريع:

صفحة Courses.aspx

فيها GridView + سكريبت

في صفحة الكود

string RowID = Convert.ToString(System.Web.UI.DataBinder.Eval(e.Row.DataItem, "Num"));
string Url = "Details.aspx?ID=" + RowID; // create the Url to be executed when the "+" is clicked
e.Row.Attributes.Add("href", Url);

السركيبت هو المسؤول عن iframe اللي يفتح تحت كل صف في GridView عند الضغط على (+)

-----

صفحة Details.aspx

فيها GridView

<asp:AccessDataSource ID="AccessDataSource1" runat="server"  SelectCommand="SELECT [Description] FROM [Course] WHERE (([Num] = @Num) AND([Symbol] = ?)) " DataFile="../../App_Data/allDept.mdb">

<SelectParameters>
	<asp:QueryStringParameter Name="Num" QueryStringField="ID" Type="Int32" />
	<asp:Parameter DefaultValue="cap" Name="Symbol" Type="String" />
</SelectParameters>	
</asp:AccessDataSource>

أكواد الصفحات بعد رفعها على السيرفر مرفقة

أتمنى إنكم تساعدوني

شكرااااا جزيلااااا مقدمااااا

والله يعطيكم العافية

courses.txt

details.txt

#2

الله يخليكم أحد يحاول معاي

#3

ليش أنت عاملها iframe

الأحسن تعملها 2 داتاجريد متداخلة أفضل

<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">

	Protected Sub grdMovieCategories_RowDataBound(ByVal sender As Object, ByVal e As
 GridViewRowEventArgs)
		If e.Row.RowType = DataControlRowType.DataRow Then
			Dim categoryId As Integer = CType(DataBinder.Eval(e.Row.DataItem,"Id"), Integer)
			Dim src	   As SqlDataSource = CType(e.Row.FindControl("src	  "), 
SqlDataSource)
			src	  .SelectParameters("CategoryId").DefaultValue = categoryId.ToString()
		End If
	End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
	<style type="text/css">
		.categories h1
		{
			font:bold 16px Arial, Sans-Serif;
		}
		.	  
		{
			margin-left:20px;
			margin-bottom:10px;
			width:100%;
		}
	</style>
	<title>Nested Master/Detail</title>
</head>
<body>
	<form id="form1" runat="server">
	<div>

	<asp:GridView
		id="grd	  "
		DataSourceID="srcMovieCategories"
		OnRowDataBound="grdMovieCategories_RowDataBound"
		AutoGenerateColumns="false"
		CssClass="categories"
		ShowHeader="false"
		GridLines="none"
		Runat="server">
		<Columns>
		<asp:TemplateField>
		<ItemTemplate>
			<h1><%# Eval("Name") %></h1>
			<asp:GridView
				id="grd	  "
				DataSourceId="src	  "
				CssClass="	  "
				GridLines="none"
				Runat="server" />

			<asp:SqlDataSource
				id="src	  "
				ConnectionString="<%$ ConnectionStrings:	   %>"
				SelectCommand="SELECT Title,Director FROM	   
					WHERE CategoryId=@CategoryId"
				Runat="server">
				<SelectParameters>
					<asp:Parameter Name="CategoryId" />
				</SelectParameters>
			</asp:SqlDataSource>
		</ItemTemplate>
		</asp:TemplateField>
		</Columns>
	</asp:GridView>

	<asp:SqlDataSource
		id="srcMovieCategories"
		ConnectionString="<%$ ConnectionStrings:	   %>"
		SelectCommand="SELECT Id,Name FROM MovieCategories"
		Runat="server" />

	</div>
	</form>
</body>
</html>
#4

في المرفق صفحة توضح الفكرة مع جدولين جدول المناطق والمدن( المنطفة بها أكثر من مدينة)

إذا فهمت الفكرة طبقها على الجداول الخاصة بك

example.zip

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

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