Solved

DataGridView Default Error Dialog when closing a Windows Form

Posted on 2009-04-01
5
1,492 Views
Last Modified: 2013-11-26
My application is written in VS 2008, VB, .Net 3.5 and have three forms that stack on top of each other due to previous selection (Master Form, Patron Form & Members Form).
When I close the Patron Form I get the "DataGridView Default Error Dialog" (See attached form).

Can anyone help me figure out why and how to resolve this error?

Process to replicate error:
1) Launch Application.
2) Select Patron Form form Master Form.
3) Type in a Patron ID.
4) Click on the Search Button.
5) Retrieves that Patron's information.
6) Click on the [X] to Close form.
7) ERROR...."DataGridView Default Error Dialog"

Material-Basic.jpg
DataGridView-Default-Error-Dialo.JPG
0
Comment
Question by:ITCSAdmin
  • 2
  • 2
5 Comments
 
LVL 9

Assisted Solution

by:Deathrace
Deathrace earned 250 total points
ID: 24041338
Hi,
If you don't have any error handlers in your procedures error will be raised by the CLR. To avoid that you need to have some similar.
Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, _
                                      ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
                                      Handles DataGridView1.CellEndEdit
    Try
        '
        'all of your main logic goes here
        '
    Catch ex As Exception
        MessageBox.Show(ex.Message)
        '...
    End Try
 
End Sub

Open in new window

0
 

Author Comment

by:ITCSAdmin
ID: 24042000
Deathrace,
Sorry for wrong form page in previous message....
I tried your suggestion for both DataGridViews that I have on this form and I am still getting the same error. I think it is with one of the ComboBoxes.
See code and correct form below.


    'Members DataGridView
    Private Sub P_MembersDataGridView_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles P_MembersDataGridView.DoubleClick
        'Dim wf2 As New wfPatron_Member
        'Dim row As DataSet_Patron_Main.P_MainRow
        'row = CType(CType(Me.P_MainBindingSource.Current, DataRowView).Row, DataSet_Patron_Main.P_MainRow)
        'wf2.Show(row.Patron_ID)
 
 
        Dim wf2 As New wfPatron_Member
        Dim m As Integer
 
        'Get Patron_ID and Show wf2 - WORKING
        'wf2.Patron_IDTextBox.Text = Me.Patron_IDTextBox.Text
        'wf2.Show()
 
        'MsgBox("DataGridView 1 Row = " & P_MembersDataGridView.SelectedRows.Count)
 
        Try
            For m = 1 To 10
                If P_MembersDataGridView.SelectedRows.Count = m Then
                    wf2.MdiParent = Me.MdiParent
                    wf2.Member_IDToolStripTextBox.Text = P_MembersDataGridView.SelectedRows(0).Cells("MemberIDColumn").Value.ToString()
 
                    wf2.FillBy_Member_IDToolStripButton.PerformClick()
                    wf2.ShowDialog()
                    wf2.Dispose()
                Else
                End If
            Next
        Catch ex As Exception
            System.Windows.Forms.MessageBox.Show(ex.Message)
        End Try
 
        'Get Member_ID and Show wf2 - NOT WORKING
 
    End Sub
 
    Private Sub P_MembersDataGridView_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles P_MembersDataGridView.CellEndEdit
        Try
 
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
 
    Private Sub Patron_CommentsDataGridView_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Patron_CommentsDataGridView.CellEndEdit
        Try
 
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

Open in new window

Patron-Screenshot.JPG
0
 
LVL 9

Assisted Solution

by:Deathrace
Deathrace earned 250 total points
ID: 24114229
first place all your combo box stuff inside try and catch block.
0
 

Author Comment

by:ITCSAdmin
ID: 24115458
Deathrace,

Thanks for looking at my problem, but I am a New Programmer and so please expand upon what you said.

ITCS Admin
Damon
0
 
LVL 15

Accepted Solution

by:
oobayly earned 250 total points
ID: 24115624
It sounds like a new record is somehow being added to the top datagridview. If the new record has for example a DBNull value for "Member Status", which is not a valid value for the combobox. The error is only displayed when the datagridview loses focus (ie. when the form closes).

You might want to handle the DefaultValuesNeeded event for the DataGridView, and use it to populate valid values for the cells that are displayed using the comboboxes.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

777 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