Solved

cell validating in datagridview

Posted on 2006-06-13
5
732 Views
Last Modified: 2012-05-05
I am struggling to validate cells in datagridview view.
I have created a very simple vb application in vb studio 2005.
created datasourse, databinding etc. Dragged and dropped a datagridview on my form including the little toolstrip bar with
with add new row, delete and save buttons.

When I click add new row it creates a new row which is empty. If I fill in the two columns and click save it works.
If I forget to input a value it obviously gives me a vb empyt string error. Can you please show me a small example of how a validation would work. I tried the one from MSDE but could not get it to work.  Here is all the code I have in my application>

**********************************************************************
Public Class Form1

    Private Sub PupilRecordsBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PupilRecordsBindingNavigatorSaveItem.Click
        Me.Validate()
        Me.PupilRecordsBindingSource.EndEdit()
        Me.PupilRecordsTableAdapter.Update(Me.SchoolDataSet.pupilRecords)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'SchoolDataSet.pupilRecords' table. You can move, or remove it, as needed.
        Me.PupilRecordsTableAdapter.Fill(Me.SchoolDataSet.pupilRecords)

    End Sub

    Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click

    End Sub

    Private Sub PupilRecordsDataGridView_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles PupilRecordsDataGridView.CellEndEdit
        PupilRecordsDataGridView.Rows(e.RowIndex).ErrorText = String.Empty
    End Sub

    Private Sub PupilRecordsDataGridView_CellValidating(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles PupilRecordsDataGridView.CellValidating
        If PupilRecordsDataGridView.Columns(e.ColumnIndex).Name = "Name" Then

            If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
                PupilRecordsDataGridView.Rows(e.RowIndex).ErrorText = "Empty"
                e.Cancel = True
            End If
        End If

    End Sub

End Class
************************************************************
I might have the code in the wrong place because nothing happens with that.

thanks

Max
0
Comment
Question by:maxgall
  • 3
  • 2
5 Comments
 
LVL 12

Accepted Solution

by:
vb_jonas earned 500 total points
ID: 16899930
Perhaps you should check the name here:

        If PupilRecordsDataGridView.Columns(e.ColumnIndex).Name = "Name"

it might be DataGridViewTextBoxColumn2 or something. If you change to:

        If InventoryDataGridView.Columns(e.ColumnIndex).DataPropertyName = "Name" Then

it will probably work since I guess "Name" is the name of your datacolumn.
0
 

Author Comment

by:maxgall
ID: 16913897
Yes, silly mistake I made there  thanks vm
0
 

Author Comment

by:maxgall
ID: 16932582
Thanks vm I can now validate the cells but the problem I have is when you add entry button a new row is created with a new ID Number generated. When clicking the add new entry button again a new row is created and the previous row not validated and when clicking on the save button a generic error about empty fields is created. Any Idea how I can prevent a new row beeing created when the previous one is still empty?

0
 
LVL 12

Expert Comment

by:vb_jonas
ID: 16932627
Interesting, shouldn't be so difficult, but I cannot think of something at the moment, and Im quite busy, so I would suggest you to add a new question, so someone else can have a look?
0
 

Author Comment

by:maxgall
ID: 16932707
Ok Thanks
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

680 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