Solved

Delete row in Datagrid using checkboxes

Posted on 2009-04-11
16
343 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
 
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
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
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

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Suggested Solutions

I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
This video discusses moving either the default database or any database to a new volume.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

743 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now