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

الوصول الى واجهة جديد بالضغط على خلية معينه بالداتا جريد

مغلق
بدأه mohammed nafa في 18 أغسطس 2007 · 12 رد · 1,769 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

تحية طيبة لكل الاخوه في هذا المنتدى الطيب

ارجو من من اعهل العلم والمعرفة المساعدة بتوضيح امكانية فتح واجهة جديد بالضغط الزدوج على خلية معينه في الداتا جريد تخص مثلا بيانات هذه الخلية

وبارك الله بكم

اخوكم

م.محمد

#2

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

اخواني الأعزاء ارجو التكرم والمساعدة فيما تم طلبه ولكم جزيل الشكر والعرفان

اخوكم

م.محمد نفاع

ابو عبيده

#3

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

ايش يا شباب وين المبدعين ماني سامع من حد شي هو الموضوع معقد والا سهل وهلا ما حد امعبرنا ، شيء من التفاعل من فضلكم

اخوكم

م.محمد

#4

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

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

i1044214_21.JPG

#5

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

بالنسبة لسؤالك يمكنك استخدام الإجراء CellDoubleClick التابع للأداة و المثال التالي يوضح كيفية عمل ذلك :

Public Class Form1
Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles DataGridView1.CellDoubleClick
Form2.TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value		
Form2.ShowDialog()
End Sub
End Class

;) مع خالص تحياتي ،،،

CellDoubleClick.rar

تم تعديل هذه المشاركة بواسطة أبو السيد عدنان في 20 أغسطس 2007 في 11:25

1
i1044214_21.JPG

#6

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

اخي الكريم أبو السيد عدنان بارك الله فيك وعلمك ماينفعك ونفعك بما علمك

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

وبارك الله فيك على اهتمامك

اخوك

م.محمد

#7

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

ايش يا شباب وين المبدعين ماني سامع من حد شي هو الموضوع معقد والا سهل وهلا ما حد امعبرنا ، شيء من التفاعل من فضلكم

اخوكم

م.محمد

#8
 1- in Public Declaration use:
   Dim WithEvents ColumnTextBox As TextBox

2- in DataGrid1_CurrentCellChanged Event use :
	Private Sub DataGrid1_CurrentCellChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
		'Set DatagridTextBox in  ColumnTextBox
		If DataGrid1.TableStyles(0).GridColumnStyles(DataGrid1.CurrentCell.ColumnNumber).GetType.Name = "DataGridTextColumn" Then
			Dim SelectedCol As DataGridTextColumn = CType(DataGrid1.TableStyles(0).GridColumnStyles(DataGrid1.CurrentCell.ColumnNumber), DataGridTextColumn)
			ColumnTextBox = SelectedCol.TextBox
		End If
	End Sub

3- in ColumnTextBox_DoubleClick event use :
	Private Sub ColumnTextBox_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ColumnTextBox.DoubleClick
		Dim ColName As String = DataGrid1.TableStyles(0).GridColumnStyles.Item(DataGrid1.CurrentCell.ColumnNumber).MappingName
		Dim ColNo As Integer = DataGrid1.CurrentCell.ColumnNumber
		MsgBox("hi")
	End Sub
#9

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

اخي الكريم وليد مندني

بارك الله فيك وجزاك الله كل خير ، وعلمك ما ينفعك ونفعك بما علمك

ارجو ان يعينك الله وان تتكرم علي بمثال بسي\ ان سمحت

اخوك

م.محمد

#10

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

:^) أخي الكريم آسف على تأخري في الاجابة على أسئلتك

أشكر الأخ وليد مندني على مجهوده ...

سيصبح الكود في الشاشة الرئيسية بعد التعديل :

Public Class Form1

	Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
		If e.ColumnIndex = 0 Then
			Form2.ComboBox1.Text = DataGridView1.Rows(e.RowIndex).Cells(0).Value
			Form2.ShowDialog()
		ElseIf e.ColumnIndex = 1 Then
			Form3.ComboBox1.Text = DataGridView1.Rows(e.RowIndex).Cells(1).Value
			Form3.ShowDialog()
		End If
	End Sub

	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		DataGridView1.Rows.Add("صنف رقم 1", "شكل رقم 5")
		DataGridView1.Rows.Add("صنف رقم 2", "شكل رقم 8")
		DataGridView1.Rows.Add("صنف رقم 6", "شكل رقم 2")
		DataGridView1.AllowUserToAddRows = False
		DataGridView1.AllowUserToDeleteRows = False
	End Sub

End Class

و سنحتاج إلى شاشتين Form2 للأصناف و Form3 لأشكال الأصناف و هذا هو كود form2

Public Class Form2

	Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
		Form1.DataGridView1.EndEdit() 'انهاء تحرير الخلية المحددة
		Form1.DataGridView1.Update() ' تحديث الداتا جريد
		Close()
	End Sub

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		Form1.DataGridView1.CurrentCell.Value = ComboBox1.SelectedItem
		Form1.DataGridView1.EndEdit() 'انهاء تحرير الخلية المحددة
		Form1.DataGridView1.Update() ' تحديث الداتا جريد
		Close() ' إغلاق الفورم
	End Sub
End Class

و هذا كود form3

Public Class Form3
	Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
		Form1.DataGridView1.EndEdit() 'انهاء تحرير الخلية المحددة
		Form1.DataGridView1.Update() ' تحديث الداتا جريد
		Close()
	End Sub

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		Form1.DataGridView1.CurrentCell.Value = ComboBox1.SelectedItem
		Form1.DataGridView1.EndEdit() 'انهاء تحرير الخلية المحددة
		Form1.DataGridView1.Update() ' تحديث الداتا جريد
		Close()
	End Sub
End Class

جرب الكود الذي في المرفقات ، أرجو أن يجيب على أسئلتك .

;) مع خالص تحياتي ،،،

CellDoubleClick.rar

تم تعديل هذه المشاركة بواسطة أبو السيد عدنان في 25 أغسطس 2007 في 09:31

i1044214_21.JPG

#11

جزاك الله كل خير اخى أبو السيد عدنان ، تحياتى

#12

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

الاخوه الكرام

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

اخوكم

م.محمد

#13

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

وكل عام وانتم بخير

الاخوه الكرام ،الاخ أبو السيد عدنان

بارك الله فيكم ، على مجهودكم ، ولكن قد واجهتني مشكل في حال النقر على راس DataGrid حيث تظهر الرسالة التالية

Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

وحيث انني لا أستطيع الاستغناء ( اخفاء ) عنوان الاعمده والتي قد تحل المشكلة فكيف يمكن تجاوز هذا الخطا

وبارك الله فيكم

اخوكم

م.محمد نفاع

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

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

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

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

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

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