Link to home
Start Free TrialLog in
Avatar of Richard Kreidl
Richard KreidlFlag for United States of America

asked on

Delete row in Datagrid using checkboxes

Basically, in my first column I have checkboxes that are unbound.

I would either like to be able to remove the row by checking the checkboxes or clicking a button after a checkbox or boxes are checked.

thanks
Avatar of brandonvmoore
brandonvmoore

And what exactly is your question in regards to how to implement this functionality?
Avatar of Richard Kreidl

ASKER

I would like the user to be able to check a checkbox so the row would be removed or have a command button when clicked would remove the rows in which the checkboxes are checked.

Not sure if this is what you're asking???
Well are you running into an error or is something not acting the way you expect?  If you have a specific technical issue I'll gladly help but I can hardly teach you to program from a comment box.
Ok, I have some code here that's not working. Now, either I'm way off on how to accomplish this or it just needs some minor changes.

The code below uses the button method which would work, but I'm interested how to do it using the checking of the checkboxes..
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
         For Each row As DataGridViewRow In DataGridView1.Rows
         If (row.Cells("select").Value = CheckState.Checked) Then
         DataGridView1.Rows.RemoveAt(row.Index)
         End If
         Next
 
   End Sub

Open in new window

OK, I'm a little confused.  You said that you had some code that is not working, but then you said that the code "would work".  Does the code you provided work , but you just want to do it a different way.  Or do you need help getting the code you provided to work?

In the former case, why don't you put your code in an event for the checkbox?  This seems pretty logical to me and I assume you already thought of that so you'll have to let me know why that's not working for you if you've already tried.

In the latter case, let me know what kind of error your getting.
No, I meant the code I have using the command button doesn't work.

I get the following error:
Column named select cannot be found.
Parameter name: columnName

Not sure how to use the checkbox event when in a datagrid.
Run the following:
msgbox(DataGridView1.Rows(1).Cells(1).name)
msgbox(DataGridView1.Rows(1).Cells(2).name)

The results of that might give you a clue.
I get the error:
Error      1      'name' is not a member of 'System.Windows.Forms.DataGridViewCell'.      
Sorry, it's late and I'm not thinking super clearly.

OK, I'm not a DGV expert, but to me that makes is sound like you can't specify the column name to the Cells() collection.  In other words, where you are specifying the word "select", try specifying the number of the column instead.
Doesn't work...
Awesome :)  Well, I was trying to help but I'm no expert on the DGV's and I don't have time to test it out.  So that being the case i would recommend that you repost your question so that it will go back to the top of the list and maybe someone more  knowledgeable on DGV's will see it this time around.

Good luck.
ASKER CERTIFIED SOLUTION
Avatar of vwalla
vwalla

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
thanks
Glad I could help.
I get this warning:
Warning      1      property 'Delete' conflicts with sub 'Delete' in the base class 'DataRow' and should be declared 'Shadows'.      

It's coming from this routine:

 <System.Diagnostics.DebuggerNonUserCodeAttribute()> _
        Public Property Delete() As String
            Get
                Try
                    Return CType(Me(Me.tableFirstShift_Checklist.DeleteColumn), String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Delete' in table 'FirstShift_Checklist' is DBNull.", e)
                End Try
            End Get
            Set(ByVal value As String)
                Me(Me.tableFirstShift_Checklist.DeleteColumn) = value
            End Set
        End Property
Looks like there is a conflict i n a namespace somewhere.  What does your delete look like?  Are you doing this manually?
What version of VS are you using and what DB are you using on your backend?
If you can post a zip of your project I can try to pick through it.  Maybe if your column for delete is bound?? May cause an issue...not sure.