تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مساعدة في انشاء combobox في الداتا جريد
#1
معي تصميم فاتورة مكونة من 9 أعمدة (( داتا جريد ))
العمود الرابع عبارة عن كومبو بوكس وهو الوحدة (( اللي هي حبة او درزن او كرتون او ....................))
حاولت احمل البيانات للكومبو بوكس من قاعدة بيانات اكسس لكن المشكلة انه كلما ادخل صنف جديد للداتا جريد يجيب البيانات لكن يعممها للعمود بشكل كامل وانا احتاج فقط كل صنف معاه وحداته الخاصة فيه
يعني مثلا الصنف الاول معاه وحدتين المفروض الكومبو بوكس يعرض لي وحدات هذا الصنف
ولما اجي ادخل الصنف الثاني يعرض لي وحداته فقط
لكن الحاصل بكل صنف يتم ادخاله يلغي وحدات ماسبقه ويضيف وحدات الصنف الجديد لكل الاصناف وهذه مشكلتي احتاج طريقة بحيث انه بكل سطر من الداتا جريد الكومبو بوكس يجلب لي وحدات الصنف نفسه فقط
والف الف شكر مقدما
الرد
تم الشكر بواسطة:
#2
يا سلام هههههههههه
هذا ما وقفت عنده تحديداً فعلأ الأفكار لها أجنحة هههههههههههه
هل توصلت إلى حل أم لم تصل بعد

(16-01-21, 07:17 PM)fawazm15019797 كتب : معي تصميم فاتورة مكونة من 9 أعمدة (( داتا جريد ))
العمود الرابع عبارة عن كومبو بوكس وهو الوحدة (( اللي هي حبة او درزن او كرتون او ....................))
حاولت احمل البيانات للكومبو بوكس من قاعدة بيانات اكسس لكن المشكلة انه كلما ادخل صنف جديد للداتا جريد يجيب البيانات لكن يعممها للعمود بشكل كامل وانا احتاج فقط كل صنف معاه وحداته الخاصة فيه
يعني مثلا الصنف الاول معاه وحدتين المفروض الكومبو بوكس يعرض لي وحدات هذا الصنف
ولما اجي ادخل الصنف الثاني يعرض لي وحداته فقط
لكن الحاصل بكل صنف يتم ادخاله يلغي وحدات ماسبقه ويضيف وحدات الصنف الجديد لكل الاصناف وهذه مشكلتي احتاج طريقة بحيث انه بكل سطر من الداتا جريد الكومبو بوكس يجلب لي وحدات الصنف نفسه فقط
والف الف شكر مقدما
  • الحمد لله تمكنت من حل المشكلة أو شيء قمت بتعبيئة الكمبو بوكس 
كود :
   Public Sub DGVCOMBO(COMBOID As Integer, DGVNAME As DataGridView, SQLCOMB As String, VALLCOMB As String, NAMESHOW As String)


       Dim DT As New DataTable
       Dim DA As New OleDbDataAdapter
       DT.Clear()
       DA = New OleDbDataAdapter(SQLCOMB, DBConnection)
       DA.Fill(DT)
       If DT.Rows.Count > 0 Then
           With DirectCast(DGVNAME.CurrentRow.Cells(COMBOID), DataGridViewComboBoxCell)
               .DataSource = DT
               .DisplayMember = NAMESHOW
               .ValueMember = VALLCOMB
               '.Value = BURCH_INVOICE.COMBO_UNIT.SelectedValue
           End With
       Else


       End If

   End Sub
  •  بعد ذلك قمت بأنشاء هذا الحدث  
كود :
  Private Sub DGV_BURCH_INVOICE_CellMouseDown(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DGV_BURCH_INVOICE.CellMouseDown
       If e.ColumnIndex = 8 Then
           DGVCOMBO(8, DGV_BURCH_INVOICE, " SELECT UNITY.UNIT_NAME, PRODUCTS.PARCODE_IN, UNITY.UNIT_ID FROM UNITY INNER JOIN PRODUCTS ON UNITY.UNIT_ID = PRODUCTS.UNIT_ID Where (((PRODUCTS.PARCODE_IN) = '" & sender.CurrentRow.Cells(11).Value & "'));", "UNIT_ID", "UNIT_NAME")


       End If
   End Sub



طبعا للعلم العمود رقم 11 هو الذي لأستخدمه لجلب أنواع الوحدات الخاصة بالمنتج 
و أيضا العمود رقم 8 هو الكومبوبوكس
الرد
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم