تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تعبئة الكمبوبوكس في الداتاغريد فيو ..
#6
   

   

   

PHP كود :
Public Class Form1

    Dim cnn 
As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Jet OLEDB:Database Password=MyDbPassword;")


 
   Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        fillDataGridViewComboBoxColumn
(0"items""title""id")
 
   End Sub



#Region " DataGridViewComboBoxColumn "

 
   Private Sub fillDataGridViewComboBoxColumn(ByVal columnIndex As IntegerByVal table As StringByVal display As StringByVal value As StringOptional ByVal where As String "")
 
       Using da As New OleDb.OleDbDataAdapter("SELECT [" display "],[" value "] FROM [" table "]"cnn)
 
           If where.Trim <> "" Then da.SelectCommand.CommandText &= " " where

            Dim dt 
As New DataTable
            da
.Fill(dt)

 
           dt.Rows.Add("** New item **"0)

 
           Dim cbColumn As DataGridViewComboBoxColumn DirectCast(DataGridView1.Columns(columnIndex), DataGridViewComboBoxColumn)
 
           cbColumn.DataSource dt
            cbColumn
.ValueMember "id"
 
           cbColumn.DisplayMember "title"

 
       End Using
    End Sub

    Private Sub DataGridView1_CellValueChanged
(ByVal sender As ObjectByVal e As System.Windows.Forms.DataGridViewCellEventArgsHandles DataGridView1.CellValueChanged
        Try
            If e
.ColumnIndex 1 AndAlso Not IsNumeric(DataGridView1.Item(e.ColumnIndexe.RowIndex).ValueThen
                DataGridView1
.Item(e.ColumnIndexe.RowIndex).Value 0
                MsgBox
("Number only")
 
               Exit Sub
            End 
If
 
           If e.ColumnIndex 2 AndAlso Not IsNumeric(DataGridView1.Item(e.ColumnIndexe.RowIndex).ValueThen
                DataGridView1
.Item(e.ColumnIndexe.RowIndex).Value 0
                MsgBox
("Number only")
 
               Exit Sub
            End 
If
 
           DataGridView1.Item(3e.RowIndex).Value DataGridView1.Item(1e.RowIndex).Value DataGridView1.Item(2e.RowIndex).Value
            If DataGridView1
.Item(3e.RowIndex).Value 0 Then
                DataGridView1
.CurrentRow.Cells(3).Style.BackColor Color.LightPink
            Else
                DataGridView1
.CurrentRow.Cells(3).Style.BackColor Color.LightGreen
            End 
If
 
       Catch ex As Exception
        End 
Try
 
   End Sub

    Private Sub DataGridView1_EditingControlShowing
(ByVal sender As ObjectByVal e As DataGridViewEditingControlShowingEventArgsHandles DataGridView1.EditingControlShowing
        If TypeOf e
.Control Is System.Windows.Forms.DataGridViewComboBoxEditingControl Then
            AddHandler TryCast
(e.ControlComboBox).SelectedIndexChangedAddressOf DataGridComboBox_SelectedIndexChanged
        End 
If
 
   End Sub
    Private Sub DataGridComboBox_SelectedIndexChanged
(ByVal sender As ObjectByVal e As EventArgs)
 
       Try
            Dim dataGridComboBox 
As ComboBox CType(senderComboBox)
 
           If dataGridComboBox.SelectedIndex = -1 Then Exit Sub
            If dataGridComboBox
.SelectedValue 0 Then
                Using frm 
As New Form2
                    If frm
.ShowDialog Windows.Forms.DialogResult.OK Then
                        Try
                            Using cmd 
As New OleDb.OleDbCommand("INSERT INTO [items] ([title], [barcode]) VALUES (@title, @barcode)"cnn)
 
                               cmd.Parameters.AddWithValue("@title"frm.TextBox1.Text.Trim)
 
                               cmd.Parameters.AddWithValue("@barcode"frm.TextBox2.Text.Trim)
 
                               If cnn.State <> ConnectionState.Open Then cnn.Open()
 
                               Dim r As Integer cmd.ExecuteNonQuery
                                cnn
.Close()
 
                               If r 0 Then
                                    fillDataGridViewComboBoxColumn
(0"items""title""id")
 
                                   dataGridComboBox.SelectedIndex dataGridComboBox.FindString(frm.TextBox1.Text.Trim)
 
                               End If
 
                           End Using
                        Catch ex 
As Exception
                            If cnn
.State <> ConnectionState.Closed Then cnn.Close()
 
                       End Try
 
                   Else
                        dataGridComboBox
.SelectedIndex = -1
                    End 
If
 
               End Using
            End 
If
 
       Catch ex As Exception
        End 
Try
 
   End Sub

#End Region


End Class 
الرد }}}
تم الشكر بواسطة: العزابي


الردود في هذا الموضوع
RE: تعبئة الكمبوبوكس في الداتاغريد فيو .. - بواسطة amgad525 - 22-05-16, 12:59 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعبئة checklistbox جيولوجي مبتدئ 4 942 31-08-25, 10:04 PM
آخر رد: مصمم هاوي
  [VB.NET] تعبئة كومبو بوكس بقواعد البيانات الموجوده علي السيرفر Mustafa Shaker 6 4,112 23-12-24, 03:59 PM
آخر رد: aljzazy
  يوجد خطاء فى كود البحث بواستطة الكمبوبوكس واجراء مخزن new_programer 4 405 06-07-24, 12:05 AM
آخر رد: Zuhare
  كيف يتم تعبئة قريد فيو بدون قاعدة بيانات بشكل مباشر؟ nowiglah 1 705 01-12-23, 10:57 PM
آخر رد: Taha Okla
  تعبئة CheckListBox من قاعدة البيانات حسب الإختيار من Combobox صالح عبدالله 1 671 14-10-23, 10:26 PM
آخر رد: aljzazy
  تعبئة الكمبوبوكس دون الارتباط بالجدول .. استفسار عاجل Ali_hassn 0 487 24-09-23, 10:50 PM
آخر رد: Ali_hassn
  [VB.NET] مشكلة الكمبوبوكس Ali_hassn 3 659 09-08-23, 09:44 PM
آخر رد: Ali_hassn
  تحديد أعمدة من الداتاغريد فيو kebboud 5 917 17-06-23, 10:27 AM
آخر رد: kebboud
  تعبئة عمود معين في الداغريد kebboud 13 1,597 14-06-23, 05:07 PM
آخر رد: kebboud
  تعبئة عمود في الداتاقريد فيو من اذا تحقق شرط معين في جدول في قاعدة البيانات صالح عبدالله 2 931 21-05-23, 09:42 PM
آخر رد: صالح عبدالله

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


يقوم بقرائة الموضوع: