Solved

Delete row in Datagrid using checkboxes

Posted on 2009-04-11
16
381 Views
Last Modified: 2012-06-27
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
0
Comment
Question by:rkckjk
  • 7
  • 6
  • 3
16 Comments
 
LVL 5

Expert Comment

by:brandonvmoore
ID: 24121133
And what exactly is your question in regards to how to implement this functionality?
0
 
LVL 2

Author Comment

by:rkckjk
ID: 24121151
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???
0
 
LVL 5

Expert Comment

by:brandonvmoore
ID: 24121171
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.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 2

Author Comment

by:rkckjk
ID: 24121184
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

0
 
LVL 5

Expert Comment

by:brandonvmoore
ID: 24121190
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.
0
 
LVL 2

Author Comment

by:rkckjk
ID: 24121255
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.
0
 
LVL 5

Expert Comment

by:brandonvmoore
ID: 24121348
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.
0
 
LVL 2

Author Comment

by:rkckjk
ID: 24121358
I get the error:
Error      1      'name' is not a member of 'System.Windows.Forms.DataGridViewCell'.      
0
 
LVL 5

Expert Comment

by:brandonvmoore
ID: 24121382
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.
0
 
LVL 2

Author Comment

by:rkckjk
ID: 24121417
Doesn't work...
0
 
LVL 5

Expert Comment

by:brandonvmoore
ID: 24121648
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.
0
 
LVL 1

Accepted Solution

by:
vwalla earned 500 total points
ID: 24121868

For Each row As DataGridViewRow In DataGridView1.Rows 
If row.Cells("chk").Value = True Then 
DataGridView1.Rows.Remove(row) 
End If 
Next 
Me.FileListBindingSource.EndEdit() 
Me.FileListTableAdapter.Update(Me.FileWatcherDatabaseDataSet.FileList) 

Open in new window

0
 
LVL 2

Author Closing Comment

by:rkckjk
ID: 31569148
thanks
0
 
LVL 1

Expert Comment

by:vwalla
ID: 24121906
Glad I could help.
0
 
LVL 2

Author Comment

by:rkckjk
ID: 24121921
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
0
 
LVL 1

Expert Comment

by:vwalla
ID: 24124339
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.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question