السلام عليكــم ورحمـة الله وبركاتــه ،،
سؤالى حول اضافه زر فى خليه من خلايا اdatagrid بحيث انه يفتح شاشه تانية فيها listbox يختار منها القيمه تم يرجع بالقيمه الى الخليه
كيف يتم ذلك
بس الزر دا يكون موجود مع جميع السطور او عند عمل اضافه وشكراااااااااا
السلام عليكــم ورحمـة الله وبركاتــه ،،
سؤالى حول اضافه زر فى خليه من خلايا اdatagrid بحيث انه يفتح شاشه تانية فيها listbox يختار منها القيمه تم يرجع بالقيمه الى الخليه
كيف يتم ذلك
بس الزر دا يكون موجود مع جميع السطور او عند عمل اضافه وشكراااااااااا
أنظري هنا :
شكرا على الرد ولكن الذى اقصده هو شى ء اخر حيث اريد اضافه زر فى داتا جريد وعند الضغط على هذا الزر يتم الانتقال على فورم تانيه حيث يختار منها المستخدم ما يريد من بيان ويرجع بالقيمه فى الخليه
اتمنى ان اكون اوضحت الفكرة لسه اريد عمل حذف او تعديل من خلال زرار
رابط الرد الذي كتبته لك في ردي السابق يبين لك كيف تقومين بزيادة عمود كل خلاياه أزرار و طريقة التقاط الحدث Click عندما ينقر المستخدم على زر على العمود. بالنسبة لما تريدين عمله من إضهار فورم أخرى و رد القيمة التي أدخلها المستخدم إلى خلية معينة, يمكن إرسال محاولتك و ستجدين إن شاء الله المساعدة في إيجاد الحل.
لقد قمت باستخدام هذا الكود ولكن لم يظهر الزرار ؟؟؟؟؟
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
لا أرى في أي مكان من الكود الذي أرفقت كود زيادة عمود الأزرار!
عاودي مراجعة الرد بتأني و تركيز ففيه الكود و بسيط للغاية :
زيادة عمود من نوع DataGridViewButtonColumn
بالتوفيق :)
انا لم استخدم الكود السابق ولكن حاولت استخدام نفس الطريقة بتاعت combox
واستخدامها فى نفس الوضع مع button
حضرتك قصدك على هذا الكود
#
If e.ColumnIndex = Me.DataGridView1.Columns("Delete").Index Then
#
CType(Me.DataGridView1.Rows(e.RowIndex).DataBoundItem, DataRowView).Delete()
#
End If
إذا قرأت الرد الذي أشرت إليه بتمعن, ستجدين الكود التالي الذي يقوم بزيادة عمود الأزرار إلى الداتاجريدفيو :
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تمام بس انا مش فاهما الكود اوى معلش يعنى انا مش هضيف اسم للcolumn تانى حاجة انا عايزاه اعرف ازاى لما اضغط عليه يفتح شاشه تانية
ابحثي في الموضوع و أرفقي محاولتك و إن شاء الله تجدين المساعدة :)
بالتوفيق...
شكرا على المتابعه
انا عارفا ان حضرتك قصدك تعلمنى ان ادور واشوف بس للاسف انى اول مرة اتعامل مع الموضوع دا
دلوقتى الbutton حصل ليه اضافه بالفعل بس عايزاه اغير موقعه من حيث الترتيب مش عارفا
وشكراااااااااا
يمكنك تعديل مكان عمود من أعمدة الداتاجريدفيو بتغيير رقمه في الخاصية DisplayedIndex, مثال :
DataGridView1.Columns(0).DisplayIndex = 1
الكود أعلاه يحرك العمود رقم 0 من المرتبة الأولى إلى المرتبة الثانية.
يمكنك أيضا وقت زيادة العمود في الكود الذي رأيناه مسبقا استعمال الدالة Insert مكان الدالة Add حيث Add تزيد العمود في المرتبة الأخيرة أما Insert فتقوم بزيادة العمود في المرتبة التي تريدين. مثال :
Me.DataGridView1.Columns.Insert(0, col)
الكود أعلاه سيقوم بزيادة العمود الجديد في المرتبة الأولى
شكرا جزيلا على الرد يبقى اخر شىء وهو كيفيه فتح شاشه اخرى من خلال هذا الزرار حيثي يتم فتح شاشه اخرى بيها بيانات يختار منها المستخدم ما يريد ويرجع بالقيمه المختاره
وشكرااااااااااااا
عند التقاط الحدث CellContentClick و التعرف على السطر الذي يوجد عليه الزر الذي تم الضغط عليه تقومين بإظهار النموذج كما تعرفين بالمناداة على الدالة Show أو ShowDialog, هذا ما في الأمر :)
شكراااااااااااااا