Home All Groups Group Topic Archive Search About
Author
29 Jun 2009 10:01 PM
John Wright
I have a datagridview on my form that has two columns.  Column 0 is a
checkbox, column 1 is a text field.  When a user checks or unchecks the
checkbox, I need to get a count of all the checked items in the datagrid.  I
tried to use cellclick, cellvaluechanged, CellMouseUp and I cannot get the
event to fire for the first click.

I am attaching the code to show what I am doing (I am just looping through
the table and counting all the items where cell(0) is true).  What event
should I use to get the value.  When I use cellclick is doesn't register the
checkbox as checked/unchecked so the count is off.  Thanks.

Code:
Dim intPieceCount As Integer = 0

        Dim i As Integer = dgEPNItems.Rows.Count - 1
        For x As Integer = i To 0 Step -1
            If x < 0 Then
                Exit For
            End If
            Dim dr As DataGridViewRow
            dr = dgEPNItems.Rows(x)
            If dr.Cells(0).Value = True Then
                intPieceCount += 1
            End If
        Next
        txtQuantity.Text = CStr(intPieceCount)

John

Author
30 Jun 2009 6:22 PM
John Wright
Never mind, I figured it out.

Show quoteHide quote
"John Wright" wrote:

> I have a datagridview on my form that has two columns.  Column 0 is a
> checkbox, column 1 is a text field.  When a user checks or unchecks the
> checkbox, I need to get a count of all the checked items in the datagrid.  I
> tried to use cellclick, cellvaluechanged, CellMouseUp and I cannot get the
> event to fire for the first click.
>
> I am attaching the code to show what I am doing (I am just looping through
> the table and counting all the items where cell(0) is true).  What event
> should I use to get the value.  When I use cellclick is doesn't register the
> checkbox as checked/unchecked so the count is off.  Thanks.
>
> Code:
> Dim intPieceCount As Integer = 0
>
>         Dim i As Integer = dgEPNItems.Rows.Count - 1
>         For x As Integer = i To 0 Step -1
>             If x < 0 Then
>                 Exit For
>             End If
>             Dim dr As DataGridViewRow
>             dr = dgEPNItems.Rows(x)
>             If dr.Cells(0).Value = True Then
>                 intPieceCount += 1
>             End If
>         Next
>         txtQuantity.Text = CStr(intPieceCount)
>
> John
Are all your drivers up to date? click for free checkup

Author
30 Jun 2009 6:59 PM
Jack Jackson
Thanks for letting us know how you solved it.

On Tue, 30 Jun 2009 11:22:01 -0700, John Wright
<JohnWri***@discussions.microsoft.com> wrote:

Show quoteHide quote
>Never mind, I figured it out.
>
>"John Wright" wrote:
>
>> I have a datagridview on my form that has two columns.  Column 0 is a
>> checkbox, column 1 is a text field.  When a user checks or unchecks the
>> checkbox, I need to get a count of all the checked items in the datagrid.  I
>> tried to use cellclick, cellvaluechanged, CellMouseUp and I cannot get the
>> event to fire for the first click.
>>
>> I am attaching the code to show what I am doing (I am just looping through
>> the table and counting all the items where cell(0) is true).  What event
>> should I use to get the value.  When I use cellclick is doesn't register the
>> checkbox as checked/unchecked so the count is off.  Thanks.
>>
>> Code:
>> Dim intPieceCount As Integer = 0
>>
>>         Dim i As Integer = dgEPNItems.Rows.Count - 1
>>         For x As Integer = i To 0 Step -1
>>             If x < 0 Then
>>                 Exit For
>>             End If
>>             Dim dr As DataGridViewRow
>>             dr = dgEPNItems.Rows(x)
>>             If dr.Cells(0).Value = True Then
>>                 intPieceCount += 1
>>             End If
>>         Next
>>         txtQuantity.Text = CStr(intPieceCount)
>>
>> John
Author
30 Jun 2009 9:16 PM
John Wright
Well it appears no one else could, so I thought I would save someone the
trouble.  Thank you sir, for responding.

Show quoteHide quote
"Jack Jackson" wrote:

> Thanks for letting us know how you solved it.
>
> On Tue, 30 Jun 2009 11:22:01 -0700, John Wright
> <JohnWri***@discussions.microsoft.com> wrote:
>
> >Never mind, I figured it out.
> >
> >"John Wright" wrote:
> >
> >> I have a datagridview on my form that has two columns.  Column 0 is a
> >> checkbox, column 1 is a text field.  When a user checks or unchecks the
> >> checkbox, I need to get a count of all the checked items in the datagrid.  I
> >> tried to use cellclick, cellvaluechanged, CellMouseUp and I cannot get the
> >> event to fire for the first click.
> >>
> >> I am attaching the code to show what I am doing (I am just looping through
> >> the table and counting all the items where cell(0) is true).  What event
> >> should I use to get the value.  When I use cellclick is doesn't register the
> >> checkbox as checked/unchecked so the count is off.  Thanks.
> >>
> >> Code:
> >> Dim intPieceCount As Integer = 0
> >>
> >>         Dim i As Integer = dgEPNItems.Rows.Count - 1
> >>         For x As Integer = i To 0 Step -1
> >>             If x < 0 Then
> >>                 Exit For
> >>             End If
> >>             Dim dr As DataGridViewRow
> >>             dr = dgEPNItems.Rows(x)
> >>             If dr.Cells(0).Value = True Then
> >>                 intPieceCount += 1
> >>             End If
> >>         Next
> >>         txtQuantity.Text = CStr(intPieceCount)
> >>
> >> John
>
Author
30 Jun 2009 10:06 PM
Jack Jackson
I was not thanking you for letting us know you solved it, but it was
an attempt at sarcasm, since you didn't tell us HOW you solved the
problem, and therefore your post won't help anyone else who has the
same problem.

On Tue, 30 Jun 2009 14:16:01 -0700, John Wright
<JohnWri***@discussions.microsoft.com> wrote:

Show quoteHide quote
>Well it appears no one else could, so I thought I would save someone the
>trouble.  Thank you sir, for responding.
>
>"Jack Jackson" wrote:
>
>> Thanks for letting us know how you solved it.
>>
>> On Tue, 30 Jun 2009 11:22:01 -0700, John Wright
>> <JohnWri***@discussions.microsoft.com> wrote:
>>
>> >Never mind, I figured it out.
>> >
>> >"John Wright" wrote:
>> >
>> >> I have a datagridview on my form that has two columns.  Column 0 is a
>> >> checkbox, column 1 is a text field.  When a user checks or unchecks the
>> >> checkbox, I need to get a count of all the checked items in the datagrid.  I
>> >> tried to use cellclick, cellvaluechanged, CellMouseUp and I cannot get the
>> >> event to fire for the first click.
>> >>
>> >> I am attaching the code to show what I am doing (I am just looping through
>> >> the table and counting all the items where cell(0) is true).  What event
>> >> should I use to get the value.  When I use cellclick is doesn't register the
>> >> checkbox as checked/unchecked so the count is off.  Thanks.
>> >>
>> >> Code:
>> >> Dim intPieceCount As Integer = 0
>> >>
>> >>         Dim i As Integer = dgEPNItems.Rows.Count - 1
>> >>         For x As Integer = i To 0 Step -1
>> >>             If x < 0 Then
>> >>                 Exit For
>> >>             End If
>> >>             Dim dr As DataGridViewRow
>> >>             dr = dgEPNItems.Rows(x)
>> >>             If dr.Cells(0).Value = True Then
>> >>                 intPieceCount += 1
>> >>             End If
>> >>         Next
>> >>         txtQuantity.Text = CStr(intPieceCount)
>> >>
>> >> John
>>
Author
8 Jul 2009 7:48 PM
Kevin S Gallagher
Since there was never a solution mentioned how about this for VS2008

<Runtime.CompilerServices.Extension()> _
Public Function CheckCount(ByVal GridView As DataGridView, ByVal ColumnIndex
As Integer, ByVal Checked As Boolean) As Integer
   Dim Result = (From Rows In GridView.Rows.Cast(Of DataGridViewRow)() Where
CBool(Rows.Cells(ColumnIndex).Value) = Checked).ToList
   If Not IsNothing(Result) Then
      Return Result.Count
   Else
      '
      ' You decide how to handle
      '
   End If
End Function

' where column 0 is the column with the checkbox
Dim CheckedCount As Integer = DataGridView1.CheckCount(0, True)
MsgBox(CheckedCount)


Show quoteHide quote
"John Wright" <JohnWri***@discussions.microsoft.com> wrote in message
news:058BF868-325B-4A20-92BA-C22F305141F7@microsoft.com...
>I have a datagridview on my form that has two columns.  Column 0 is a
> checkbox, column 1 is a text field.  When a user checks or unchecks the
> checkbox, I need to get a count of all the checked items in the datagrid.
> I
> tried to use cellclick, cellvaluechanged, CellMouseUp and I cannot get the
> event to fire for the first click.
>
> I am attaching the code to show what I am doing (I am just looping through
> the table and counting all the items where cell(0) is true).  What event
> should I use to get the value.  When I use cellclick is doesn't register
> the
> checkbox as checked/unchecked so the count is off.  Thanks.
>
> Code:
> Dim intPieceCount As Integer = 0
>
>        Dim i As Integer = dgEPNItems.Rows.Count - 1
>        For x As Integer = i To 0 Step -1
>            If x < 0 Then
>                Exit For
>            End If
>            Dim dr As DataGridViewRow
>            dr = dgEPNItems.Rows(x)
>            If dr.Cells(0).Value = True Then
>                intPieceCount += 1
>            End If
>        Next
>        txtQuantity.Text = CStr(intPieceCount)
>
> John

Bookmark and Share