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

عمل دروب داون ليست بناء على قيمة تدخل

مغلق
بدأه kingofdark في 19 أغسطس 2006 · 4 رد · 997 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

اريده اذا ادخل مثلا 4 يتم تلقائيا عمل اربع دروب داون ليست اسفل الحقل الذي كتب فيه 4 وهذه القوائم تحضر محتوياتها من جدول في القاعدة

فهل من مساعدة في ذلك

#2
for (int i = 1; i <= 3; i++)
{
	   DropDownList d = new DropDownList();
	   d.DataSource = GET_FROM_DATA_BASE();
	   d.DataBind();
	   PlaceHolder1.Controls.Add(d);
}
#3

Example.rarأخي الكريم جرب هذا المثال

اتمنى ان يكون واضح و يفي بالغرض

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
		Dim lop As Integer
		For lop = 0 To Val(Me.TextBox1.Text)
			''
			Dim DropDownList1 As New DropDownList
			DropDownList1.ID = "DropDownList1" & lop.ToString
			DropDownList1.Items.Add("Example - ID = " & DropDownList1.ID)
			DropDownList1.Items.Add("1")
			DropDownList1.Items.Add("2")
			DropDownList1.Items.Add("3")
			Me.PlaceHolder1.Controls.Add(DropDownList1)
			''
			Dim Literal As New Literal					  'للتنسيق'
			Literal.Text = "<br>"
			Me.PlaceHolder1.Controls.Add(Literal)
			''
		Next
	End Sub

	Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
		Dim lop As Integer
		For lop = 0 To Val(Me.TextBox1.Text)
			Me.Response.Write(Me.Request.Item("DropDownList1" & lop.ToString) & "<br><br>")
		Next
	End Sub

<body>
	<form id="form1" runat="server">
	<div>
		<table width="100%">
			<tr>
				<td align="center">
					<asp:Button ID="Button1" runat="server" Text="Button" />
					<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
					 </td>
			</tr>
			<tr>
				<td align="center">
					<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
				</td>
			</tr>
			<tr>
				<td align="center">
					<asp:Button ID="Button2" runat="server" Text="View" Width="120px" /></td>
			</tr>
		</table>

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

طريقة حماية الصفحة بالصورة العشاوائية Captcha

/index.php?showtopic=117870

#4

بسم الله الرحمن الرحيم

أولا شكرا لتجاوبكم أخوتي الكرام

أود أن أوضح نقطه وهي أنني مبتدئ في مجال asp.net و c# لذلك تحملوني ان كانت هناك اسئله تعتبر لديكم من البديهيات .

==============================================

وأهم شيء أخوتي الكرام هو أنني أريد أ، اعرف كيفية يتم العمل أكثر من أخذ كود ولصقه من دون فهم الالية .

==============================================

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

=============================================

المهم أعيد طرح سؤالي السابق بشيء من التفصيل الذي يبدو أنني اغفلته سابقا.

أولا : لدي دروب داون ليست تقوم بجلب بيانات مخزنه في قاعدو البيانات ( أسماء الاقسام) .

عند اختيار عنصر من عناصر الدروب داون ليست يتم تعبئة جريد ببيانات هذا القسم .

ومن ضمن البيانات التي في القريد فيو طبعا خانة :

عدد المواد المطلوبة في النسبة الخاصة : ( )

عند وضع قيمه في هذه الخانه أريد أن تظهر دروب داون ليست بعدد هذه القيمة أسفل هذا الحقل ويتم تعبئة هذه الدروب داون ليست بالبيانات ( أسماء المقررات الموجودة في جدول المقررات )من جدوا آخر غير الجدول المعبئ منه الجريد فيو.

ومن يوجد زر أمر لحفظ البيانات حيث توجه البيانات الموجودة في الدروب داون ليست الاخيرة لتخزن في جدول ثالث

هو عبار عن جدول وسيط بين الجدول الذي يعباء منه الجريد فيو والجدول الذي تعبئ منه الدروب داون ليست الثانية .

حيث يخزن فيه : قيمة الدروب داون ليست ( رقم المقرر) ورقم القسم من الجريد فيو

#5

example.zipهذا مثال اخر اتمنى ان يكون واضح

الملف مرفق

------------------------------------------------

هذا الكود يتم تنفيذه اثناء تحميل الصفحة و يتم فيه تعبئة القائمة الأولى بأسماء الأقسام

	Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
		''
		If Not Me.IsPostBack Then
			''
			Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("~/db.mdb"))
			''
			Dim Adapter As New OleDbDataAdapter("select Department_ID,Department_Name from Department order by (1)", Conn)
			''
			Dim DS As New Data.DataSet
			Conn.Open()
			Adapter.Fill(DS)
			Conn.Close()
			''
			Me.DropDownList1.Items.Add("اختر القسم")
			Me.DropDownList1.Items(0).Value = "-1"
			''
			Dim Lop As Integer
			For Lop = 0 To DS.Tables(0).Rows.Count - 1
				Me.DropDownList1.Items.Add(DS.Tables(0).Rows(Lop).Item(1).ToString)
				Me.DropDownList1.Items(Lop + 1).Value = DS.Tables(0).Rows(Lop).Item(0).ToString
			Next
			''
			Me.Panel1.Visible = False
			''
		End If
		''
	End Sub

هذا الكود يتم تنفيذه عند اختيار قسم معيين و يتم فيه إضهار محتويات القسم و قائمة عدد المقررات الدراسية

	Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
		''
		If Me.DropDownList1.SelectedValue = "-1" Then
			Me.Panel1.Visible = False
		Else
			Me.Panel1.Visible = True
			''
			Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("~/db.mdb"))
			''
			Dim Adapter As New OleDbDataAdapter("select * from Department where Department_ID ='" & Me.DropDownList1.SelectedValue & "' ", Conn)
			''
			Dim DS As New Data.DataSet
			Conn.Open()
			Adapter.Fill(DS)
			Conn.Close()
			''
			Me.DataGrid1.DataSource = DS.Tables(0)
			Me.DataGrid1.DataBind()
			''
			DropDownList2.Items.Clear()
			Dim lop As Integer
			For lop = 0 To 15
				Me.DropDownList2.Items.Add(lop)
			Next
			''
		End If
		''
	End Sub

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

	Protected Sub DropDownList2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList2.SelectedIndexChanged
		''
		Me.DataGrid2.DataSource = TableDesign(CInt(Me.DropDownList2.SelectedItem.Text))
		Me.DataGrid2.DataBind()
		''
		Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("~/db.mdb"))
		''
		Dim Adapter As New OleDbDataAdapter("select Subject_id,Subject_Name from Subjects order by (1)", Conn)
		''
		Dim DS As New Data.DataSet
		Conn.Open()
		Adapter.Fill(DS)
		Conn.Close()
		''
		Dim lop As Integer
		For lop = 0 To Me.DataGrid2.Items.Count - 1
			Dim dropList As DropDownList = Me.DataGrid2.Items(lop).Cells(0).FindControl("DropDownList3")
			Dim InLop As Integer
			For InLop = 0 To DS.Tables(0).Rows.Count - 1
				dropList.Items.Add(DS.Tables(0).Rows(InLop).Item(1).ToString)
				dropList.Items(InLop).Value = DS.Tables(0).Rows(InLop).Item(0).ToString
			Next
			''
		Next
		''
	End Sub

	Public Function TableDesign(ByVal RowsLengh As Integer) As Data.DataTable
		''
		Dim lop As Integer
		''
		TableDesign = New Data.DataTable
		''
		TableDesign.Columns.Add(New Data.DataColumn("م"))
		''
		For lop = 1 To RowsLengh
			Dim NewAddRows1 As Object() = {lop}
			TableDesign.Rows.Add(NewAddRows1)
		Next
		''
		Return TableDesign
		''
	End Function

هذا الكود يتم تنفيذه عند حفظ البيانات و هي كود القسم و كود المقرر

	Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
		''
		Dim lop As Integer
		For lop = 0 To Me.DataGrid2.Items.Count - 1
			''
			Dim dropList As DropDownList = Me.DataGrid2.Items(lop).Cells(0).FindControl("DropDownList3")
			SaveData(dropList.SelectedValue)
			''
		Next
		''
		Me.Response.Write("تمت عملية الحفظ ")
		Me.DropDownList1.SelectedIndex = 0
		Me.Panel1.Visible = False
		''
	End Sub

	Private Sub SaveData(ByVal Subjects_id As String)
		''
		Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("~/db.mdb"))
		Dim CommandInsert As New OleDbCommand("INSERT INTO CenterTable (Department_id,Subjects_id) Values (?,?)", Conn)
		''
		Conn.Open()
		CommandInsert.Connection = Conn
		CommandInsert.Parameters.Add(New OleDbParameter("@DID", Me.DropDownList1.SelectedValue))
		CommandInsert.Parameters.Add(New OleDbParameter("@SID", Subjects_id))
		''
		CommandInsert.CommandType = Data.CommandType.Text
		CommandInsert.ExecuteNonQuery()
		CommandInsert.Connection.Close()
		Conn.Close()
		''
	End Sub

و هذا كود الصفحة ASPX

  <form id="form1" runat="server">
	<div>
		<table width="100%">
			<tr>
				<td align="center">
					<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" Width="312px">
					</asp:DropDownList></td>
			</tr>
			<tr>
				<td align="center">
					<asp:Panel ID="Panel1" runat="server" Width="100%">
						<table border="0" width="100%">
							<tr>
								<td align="center">
									<asp:DataGrid ID="DataGrid1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None"
										Width="100%">
										<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
										<EditItemStyle BackColor="#2461BF" />
										<SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
										<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
										<AlternatingItemStyle BackColor="White" />
										<ItemStyle BackColor="#EFF3FB" />
										<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
									</asp:DataGrid>
									  حدد عدد المواد<br />
									<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" Width="216px">
									</asp:DropDownList>
								</td>
							</tr>
							<tr>
								<td align="center">
									<asp:DataGrid ID="DataGrid2" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None">
										<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
										<EditItemStyle BackColor="#7C6F57" />
										<SelectedItemStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
										<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
										<AlternatingItemStyle BackColor="White" />
										<ItemStyle BackColor="#E3EAEB" />
										<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
										<Columns>
											<asp:TemplateColumn HeaderText="اختر المقرر">
												<ItemTemplate>
													<asp:DropDownList ID="DropDownList3" runat="server" Width="160px">
													</asp:DropDownList>
												</ItemTemplate>
											</asp:TemplateColumn>
										</Columns>
									</asp:DataGrid>
									<asp:Button ID="Button1" runat="server" Text="حفظ" Width="256px" /></td>
							</tr>
						</table>
					</asp:Panel>
				</td>
			</tr>
		</table>

	</div>
	</form>

طريقة حماية الصفحة بالصورة العشاوائية Captcha

/index.php?showtopic=117870

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

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