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

كيف يتم اضافه زر فى Datagrid

بدأه shosho842000 في 13 نوفمبر 2009 · 14 رد · 1,563 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

سؤالى حول اضافه زر فى خليه من خلايا اdatagrid بحيث انه يفتح شاشه تانية فيها listbox يختار منها القيمه تم يرجع بالقيمه الى الخليه

كيف يتم ذلك

بس الزر دا يكون موجود مع جميع السطور او عند عمل اضافه وشكراااااااااا

#3

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

اتمنى ان اكون اوضحت الفكرة لسه اريد عمل حذف او تعديل من خلال زرار

#4

رابط الرد الذي كتبته لك في ردي السابق يبين لك كيف تقومين بزيادة عمود كل خلاياه أزرار و طريقة التقاط الحدث Click عندما ينقر المستخدم على زر على العمود. بالنسبة لما تريدين عمله من إضهار فورم أخرى و رد القيمة التي أدخلها المستخدم إلى خلية معينة, يمكن إرسال محاولتك و ستجدين إن شاء الله المساعدة في إيجاد الحل.

#5

لقد قمت باستخدام هذا الكود ولكن لم يظهر الزرار ؟؟؟؟؟

  For x As Integer = 0 To DataGridView1.Rows.Count - 1
			Dim bt As DataGridViewButtonColumn = DirectCast(DataGridView1.Columns(1), DataGridViewButtonColumn)
			'Dim bt As DataGridViewButtonCell = CType(DataGridView1.Columns(1), DataGridViewButtonCell)
		Next
		If cn.State = ConnectionState.Open Then cn.Close()
		cn.ConnectionString = "Data Source=SSSSS;Initial Catalog=employee company;Integrated Security=True"
		cn.Open()
		cmd.Connection = cn
		cmd.CommandText = "select * from stop_emp"
		tb.Load(cmd.ExecuteReader)
		DataGridView1.DataSource = tb

استخدمت بطريقة cell and column

لم يظهر اى شىء

كما اريد كيف استخدمه فى اظهار form

#6

لا أرى في أي مكان من الكود الذي أرفقت كود زيادة عمود الأزرار!

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

زيادة عمود من نوع DataGridViewButtonColumn

بالتوفيق :)

#7

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

واستخدامها فى نفس الوضع مع button

حضرتك قصدك على هذا الكود

#

If e.ColumnIndex = Me.DataGridView1.Columns("Delete").Index Then

#

CType(Me.DataGridView1.Rows(e.RowIndex).DataBoundItem, DataRowView).Delete()

#

End If

#8

إذا قرأت الرد الذي أشرت إليه بتمعن, ستجدين الكود التالي الذي يقوم بزيادة عمود الأزرار إلى الداتاجريدفيو :

Dim col As New DataGridViewButtonColumn
col.Name = "Delete"
col.Text = "حذف"
Me.DataGridView1.Columns.Add(col)

و هذا هو الحدث CellContentClick الذي يجب التقاطه لمعرفة متى قام المستخدم بالنقر على زر على العمود المضاف و في أي سطر يوجد الزر المعني بالأمر :

Private Sub DataGridView1_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
If e.ColumnIndex = Me.DataGridView1.Columns("Delete").Index Then
CType(Me.DataGridView1.Rows(e.RowIndex).DataBoundItem, DataRowView).Delete()
End If
End Sub
#9

تمام بس انا مش فاهما الكود اوى معلش يعنى انا مش هضيف اسم للcolumn تانى حاجة انا عايزاه اعرف ازاى لما اضغط عليه يفتح شاشه تانية

#10

ابحثي في الموضوع و أرفقي محاولتك و إن شاء الله تجدين المساعدة :)

بالتوفيق...

#11

شكرا على المتابعه

انا عارفا ان حضرتك قصدك تعلمنى ان ادور واشوف بس للاسف انى اول مرة اتعامل مع الموضوع دا

دلوقتى الbutton حصل ليه اضافه بالفعل بس عايزاه اغير موقعه من حيث الترتيب مش عارفا

وشكراااااااااا

#12

يمكنك تعديل مكان عمود من أعمدة الداتاجريدفيو بتغيير رقمه في الخاصية DisplayedIndex, مثال :

DataGridView1.Columns(0).DisplayIndex = 1

الكود أعلاه يحرك العمود رقم 0 من المرتبة الأولى إلى المرتبة الثانية.

يمكنك أيضا وقت زيادة العمود في الكود الذي رأيناه مسبقا استعمال الدالة Insert مكان الدالة Add حيث Add تزيد العمود في المرتبة الأخيرة أما Insert فتقوم بزيادة العمود في المرتبة التي تريدين. مثال :

Me.DataGridView1.Columns.Insert(0, col)

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

#13

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

وشكرااااااااااااا

#14

عند التقاط الحدث CellContentClick و التعرف على السطر الذي يوجد عليه الزر الذي تم الضغط عليه تقومين بإظهار النموذج كما تعرفين بالمناداة على الدالة Show أو ShowDialog, هذا ما في الأمر :)

#15

شكراااااااااااااا

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