Click here to Skip to main content
15,891,253 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi,

I have a datagridview with 11 column. 6. and 7. columns are checkbox column. if 6. column is Checked, it must be UnChecked automaticaly when select 7. column (Checked) in current row.

I tried alot of thing but I cann't do it.

What I have tried:

VB
Private Sub dgTestler_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgTestler.CellContentClick

        If e.RowIndex >= 0 Then
            If dgTestler.Rows(e.RowIndex).Cells(6).Selected = True Then
                If dgTestler.Rows(e.RowIndex).Cells(6).Value = False And dgTestler.Rows(e.RowIndex).Cells(7).Value = False Then
                    dgTestler.Rows(e.RowIndex).Cells(6).Selected = True
                    dgTestler.Rows(e.RowIndex).Cells(9).Value = dgTestler.Rows(e.RowIndex).Cells(8).Value
                    GenelToplam = GenelToplam + dgTestler.Rows(e.RowIndex).Cells(9).Value
                    dgTestler.Rows(e.RowIndex).Cells(10).Value = dgTestler.Rows(e.RowIndex).Cells(8).Value * 100
                    dgTestler.Rows(e.RowIndex).Cells(11).Value = 1
                    TextBox1.Text = GenelToplam.ToString()
                    Exit Sub

                ElseIf dgTestler.Rows(e.RowIndex).Cells(6).Value = True And dgTestler.Rows(e.RowIndex).Cells(7).Value = False Then
                    dgTestler.Rows(e.RowIndex).Cells(6).Selected = False
                    GenelToplam = GenelToplam - dgTestler.Rows(e.RowIndex).Cells(9).Value
                    dgTestler.Rows(e.RowIndex).Cells(9).Value = ""
                    dgTestler.Rows(e.RowIndex).Cells(10).Value = ""
                    dgTestler.Rows(e.RowIndex).Cells(11).Value = ""
                    TextBox1.Text = GenelToplam.ToString()
                    Exit Sub
                ElseIf dgTestler.Rows(e.RowIndex).Cells(6).Value = True And dgTestler.Rows(e.RowIndex).Cells(7).Value = True Then
                    dgTestler.Rows(e.RowIndex).Cells(6).Selected = True
                    dgTestler.Rows(e.RowIndex).Cells(7).Selected = False
                    dgTestler.Rows(e.RowIndex).Cells(9).Value = dgTestler.Rows(e.RowIndex).Cells(8).Value
                    GenelToplam = GenelToplam + dgTestler.Rows(e.RowIndex).Cells(9).Value
                    dgTestler.Rows(e.RowIndex).Cells(10).Value = dgTestler.Rows(e.RowIndex).Cells(8).Value * 100
                    dgTestler.Rows(e.RowIndex).Cells(11).Value = 1
                    TextBox1.Text = GenelToplam.ToString()
                    Exit Sub
                End If

            ElseIf dgTestler.Rows(e.RowIndex).Cells(7).Selected = True Then
                If dgTestler.Rows(e.RowIndex).Cells(7).Value = False And dgTestler.Rows(e.RowIndex).Cells(6).Value = False Then
                    dgTestler.Rows(e.RowIndex).Cells(7).Selected = True
                    'GenelToplam = GenelToplam - dgTestler.Rows(e.RowIndex).Cells(9).Value
                    dgTestler.Rows(e.RowIndex).Cells(9).Value = 0
                    dgTestler.Rows(e.RowIndex).Cells(10).Value = 0
                    dgTestler.Rows(e.RowIndex).Cells(11).Value = 1
                    'TextBox1.Text = GenelToplam.ToString()
                    Exit Sub
                ElseIf dgTestler.Rows(e.RowIndex).Cells(7).Value = True And dgTestler.Rows(e.RowIndex).Cells(6).Value = False Then
                    dgTestler.Rows(e.RowIndex).Cells(7).Selected = False
                    'GenelToplam = GenelToplam - dgTestler.Rows(e.RowIndex).Cells(9).Value
                    dgTestler.Rows(e.RowIndex).Cells(9).Value = ""
                    dgTestler.Rows(e.RowIndex).Cells(10).Value = ""
                    dgTestler.Rows(e.RowIndex).Cells(11).Value = ""
                    'TextBox1.Text = GenelToplam.ToString()
                    Exit Sub
                ElseIf dgTestler.Rows(e.RowIndex).Cells(7).Value = True And dgTestler.Rows(e.RowIndex).Cells(6).Value = True Then
                    dgTestler.Rows(e.RowIndex).Cells(6).Selected = False
                    dgTestler.Rows(e.RowIndex).Cells(7).Selected = True
                    GenelToplam = GenelToplam - dgTestler.Rows(e.RowIndex).Cells(9).Value
                    dgTestler.Rows(e.RowIndex).Cells(9).Value = 0
                    dgTestler.Rows(e.RowIndex).Cells(10).Value = 0
                    dgTestler.Rows(e.RowIndex).Cells(11).Value = 1
                    TextBox1.Text = GenelToplam.ToString()
                    Exit Sub
                End If

            End If

        End If
End Sub
Posted
Updated 10-May-17 5:08am
Comments
Maciej Los 10-May-17 9:32am    
Does the DataGridView is bound with database?
bellatriks 10-May-17 9:51am    
Yes, DataGridView is get datas from SQL database.
Maciej Los 10-May-17 10:54am    
OK. What you use: DataTable or BindingSource?
bellatriks 10-May-17 10:57am    
None. I have use DataReader.


If rdr.HasRows Then
While rdr.Read()
Dim r As Integer = dgTestler.Rows.Add()
dgTestler.Rows.Item(r).Cells(0).Value = rdr(0)
dgTestler.Rows.Item(r).Cells(1).Value = rdr(1)
dgTestler.Rows.Item(r).Cells(2).Value = rdr(2)
dgTestler.Rows.Item(r).Cells(3).Value = rdr(3)
dgTestler.Rows.Item(r).Cells(4).Value = rdr(4)
dgTestler.Rows.Item(r).Cells(5).Value = rdr(5)
dgTestler.Rows.Item(r).Cells(6).Value = False
dgTestler.Rows.Item(r).Cells(7).Value = False
dgTestler.Rows.Item(r).Cells(8).Value = rdr(6)
AgirlikToplami = AgirlikToplami + rdr(6)
'Bulgular.rtxtTitle.Text = rdr(5).ToString()
End While
End If

1 solution

 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900