|
I have gridView with 4 columns the 1'st and 2'nd are combobox type ,each one bounded with diffrernt tabel there is a relation between them , the 2nd column value get depend on the first column database the 1st tabel mat have two column 1.MatID 2.MatName the 2nd tabel Cat have 1.matid 2.catid 3.catname target:if i select matid in 1st column ,the 2nd colume must contain catid filtered depend on 1st comboboxCell selected
I use vb.net language | | BiGBoY9 Thursday, September 17, 2009 6:41 AM | Hi, I hope it will help you..
Private Sub dataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs)
If DataGridView1.CurrentCell.ColumnIndex = 0 Then
Dim cb As ComboBox = e.Control
If Not cb Is Nothing Then
AddHandler cb.SelectedIndexChanged, AddressOf cb_SelectedIndexChanged
End If
End If
End Sub
Private Sub cb_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim cbo As DataGridViewComboBoxColumn = DataGridView1.Columns(1)
cbo.Items.AddRange("Plan1", "Plan2", "Plan3", "Plan4", "Plan5")
End Sub
Private Sub AddColumns()
Dim column1 As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn()
column1.HeaderText = "Treatement"
column1.Width = 90
column1.FlatStyle = FlatStyle.Flat
column1.Items.AddRange("Treatment1", "Treatment2", "Treatment3", "Treatment4", "Treatment5")
Dim column2 As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn()
column2.HeaderText = "TreatementPlan"
column2.Width = 90
column2.FlatStyle = FlatStyle.Flat
Dim column3 As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
column3.HeaderText = "Action1"
column3.Width = 90
Dim column4 As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
column4.HeaderText = "Action2"
column4.Width = 90
dataGridView1.Columns.Add(column1)
dataGridView1.Columns.Add(column2)
dataGridView1.Columns.Add(column3)
dataGridView1.Columns.Add(column4)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddColumns()
AddHandler DataGridView1.EditingControlShowing, AddressOf dataGridView1_EditingControlShowing
End Sub
Best Regards,
C.Gnanadurai
-----------------------
Please mark the post as answer if it is helpfull to you - Marked As Answer byAland LiMSFT, ModeratorFriday, September 18, 2009 6:20 AM
-
| | Gnanadurai Friday, September 18, 2009 4:34 AM | Hi, I hope it will help you..
Private Sub dataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs)
If DataGridView1.CurrentCell.ColumnIndex = 0 Then
Dim cb As ComboBox = e.Control
If Not cb Is Nothing Then
AddHandler cb.SelectedIndexChanged, AddressOf cb_SelectedIndexChanged
End If
End If
End Sub
Private Sub cb_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim cbo As DataGridViewComboBoxColumn = DataGridView1.Columns(1)
cbo.Items.AddRange("Plan1", "Plan2", "Plan3", "Plan4", "Plan5")
End Sub
Private Sub AddColumns()
Dim column1 As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn()
column1.HeaderText = "Treatement"
column1.Width = 90
column1.FlatStyle = FlatStyle.Flat
column1.Items.AddRange("Treatment1", "Treatment2", "Treatment3", "Treatment4", "Treatment5")
Dim column2 As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn()
column2.HeaderText = "TreatementPlan"
column2.Width = 90
column2.FlatStyle = FlatStyle.Flat
Dim column3 As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
column3.HeaderText = "Action1"
column3.Width = 90
Dim column4 As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn()
column4.HeaderText = "Action2"
column4.Width = 90
dataGridView1.Columns.Add(column1)
dataGridView1.Columns.Add(column2)
dataGridView1.Columns.Add(column3)
dataGridView1.Columns.Add(column4)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddColumns()
AddHandler DataGridView1.EditingControlShowing, AddressOf dataGridView1_EditingControlShowing
End Sub
Best Regards,
C.Gnanadurai
-----------------------
Please mark the post as answer if it is helpfull to you - Marked As Answer byAland LiMSFT, ModeratorFriday, September 18, 2009 6:20 AM
-
| | Gnanadurai Friday, September 18, 2009 4:34 AM |
|