Solved

How do you handle data validation (OnRowValidating) in a DataGridView

Posted on 2009-07-08
3
588 Views
Last Modified: 2012-05-07
If a user leaves a record in a DataGridView and they haven't entered a required field I keep getting system.Data.NoNullAllowedException. ..
I'm trying to catch it with the code below but it doesn't work.  Is there an easy way to do this?

Thanks,
Private Sub myDataGridView_RowValidating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles myDataGridView.RowValidating
        Try
        Catch ex As NoNullAllowedException
            MessageBox.Show("You left a record without filling in all of the required fields " & ex.Message)
        End Try
    End Sub

Open in new window

0
Comment
Question by:FatalErr
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 15

Expert Comment

by:JackOfPH
ID: 24810053
0
 
LVL 13

Accepted Solution

by:
drypz earned 500 total points
ID: 24810422
Hi! Try this...
        private void Form2_Load(object sender, EventArgs e)
        {
            FillGridView();
        }
 
        private void FillGridView()
        {
            dataGridView1.Columns.Add("Column1", "Name");
            dataGridView1.Columns.Add("Column2", "Age");
        }
 
        private void dataGridView1_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
        {
            if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].IsInEditMode)
            {
                if (string.IsNullOrEmpty(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].FormattedValue.ToString()))
                {
                    MessageBox.Show("Please enter value.");
                    e.Cancel = true;
                }
            }
 
        }

Open in new window

0
 
LVL 1

Author Comment

by:FatalErr
ID: 25388788
I ended up using the DataError event which seems to be designed for what I needed.
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

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

Suggested Solutions

A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

696 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