Trapping exception in rowchanging event.

Hello, I am doing some validation on the rowchanging event of my datagrid which checks to see if certian fields are filled in.  If one of the columns in null I throw an exception to cancel the editing.  Is there a way to trap this exception and then display one of my own message boxes?  I tried using try..catch to trap it and then put my messagebox in the Catch but when doing this I get the error: "error when committing the row to the original data source".  Is there a way to get this to work?  My code is below.

Thanks

            'check to make sure all required fields are populated
            If e.Row.Item("TransDate") Is DBNull.Value Then
                e.Row.SetColumnError("TransDate", "Date is a required field")
                clsMessages.ReguiredFieldMessageShow("Date")
                Exit Sub
            ElseIf e.Row.Item("TransactionType") Is DBNull.Value Then
                e.Row.SetColumnError("TransactionType", "Activity is a required field")
                Try
                    Throw New Exception("Activity is a required field.")
                Catch ex As Exception
                    clsMessages.ReguiredFieldMessageShow("Activity")
                End Try
                Exit Sub
            Else
                    e.Row.ClearErrors()
            End If
crussell96Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

af4643Commented:
if e is a datatable, you need to specify an actual row index when you access a field in the column. You can loop through your table to look at each row like this:

Dim dr as datarow
for each dr in e.rows
 if dr.item("TransDate") is dbnull then
 .
 .
 .
 end if
next
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.