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
Solved

Lose detail in DGV that was entered via cellFormatting

Posted on 2009-06-29
2
279 Views
Last Modified: 2012-05-07
Hi Experts

I am adding the contents of textbox to a cell in a DGV via  the cell formatting event.

The thing is when I try and obtain the value of that cell I get nothing.

http://www.screencast.com/users/si2030/folders/Jing/media/fe469369-a496-4729-8968-3989d55cd0a6


I have no idea why and have been working on this for a while now.

I have included the subroutine that the cell formatting event controller calls.

In particular this is the code that I am querying:

 If Me.dgvCreditorInvoiceDetail.Columns(e.ColumnIndex).Name = "ref" Then

                    If Presenter.validateAssetNo(e.Value) = True Then

                    Else

                        e.Value = txtInvoiceNumber.Text

                    End If

Now this works but when I use:

dgvCreditorInvoiceDetail.Rows(0).Cells("ref").Value
dgvCreditorInvoiceDetail.Item("ref", 0).Value

in both cases these return "nothing".

The cell clearly has an entry but the DGV thinks the cell has nothing in it.

Hope someone can tell me why the cell shows an entry but does not recognise that a value was in there.

Kind Regards

Simon
Private Sub formatDGVCells(ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Implements creditorInvoiceINTERFACE.IfrmCreditorInvoice.formatDGVCells
 
        Try
 
            If e.ColumnIndex > -1 Then
 
                If Me.dgvCreditorInvoiceDetail.Columns(e.ColumnIndex).Name = "amount" Then
 
                    If e.Value = "" Or IsNothing(e.Value) Then
 
                        e.Value = "$0.00"
                        e.CellStyle.ForeColor = Color.Black
 
                    Else
 
                        If (e.Value = 0) Then
 
                            e.Value = "$0.00"
                            e.CellStyle.ForeColor = Color.Black
 
                        Else
 
                            e.Value = "$" & FormatNumber((e.Value), 2, TriState.UseDefault, TriState.UseDefault, TriState.UseDefault)
 
                            If e.Value > 0 Then
 
                                e.CellStyle.ForeColor = Color.Black
 
                            Else
 
                                e.CellStyle.ForeColor = Color.Red
 
                            End If
 
                            Dim total As Decimal = 0
 
                            For count = 0 To dgvCreditorInvoiceDetail.Rows.Count - 1
 
                                total = total + CType(Mid(dgvCreditorInvoiceDetail.Rows(count).Cells("amount").Value, 1), Decimal)
 
                            Next
 
                            txtTotal.Text = String.Format("{0:C}", total)
 
                            If total < 0 Then
 
                                txtTotal.ForeColor = Color.Red
 
                            End If
 
                        End If
 
                    End If
 
                End If
 
                If Me.dgvCreditorInvoiceDetail.Columns(e.ColumnIndex).Name = "ref" Then
 
                    If Presenter.validateAssetNo(e.Value) = True Then
 
                    Else
 
                        e.Value = txtInvoiceNumber.Text
 
                    End If
 
                End If
 
                If Me.dgvCreditorInvoiceDetail.Columns(e.ColumnIndex).Name = "detail" Then
 
                    If e.Value <> "" Or (e.Value <> Nothing) Then
 
                        e.Value = e.Value.ToString.ToUpper
 
                    End If
 
                End If
 
                If Me.dgvCreditorInvoiceDetail.Columns(e.ColumnIndex).Name = "account" Then
 
                    newColumn.FlatStyle = FlatStyle.Flat
 
                End If
 
            End If
 
        Catch ex As Exception
 
            manageWindowsViewError("creditorTASK", "frmCreditorInvoicePayment", "formatDGVCells", ex)
 
        End Try
 
    End Sub

Open in new window

0
Comment
Question by:si2030
2 Comments
 
LVL 96

Accepted Solution

by:
Bob Learned earned 500 total points
ID: 24741492
Does Cell.FormattedValue have any value?
0
 

Author Closing Comment

by:si2030
ID: 31597881
That simple! I didnt know that there was a "value" and... if you formatted the cell the formatted value. In this case there was no initial value so when I pulled the cells contents there was nothing!

Thanks.. great answer..
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

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

Suggested Solutions

Title # Comments Views Activity
Advice in Xamarin 21 96
Call windows 10 virtual keyboard from windows forms app 2 51
Error message when using PrintSocket.Send 7 18
Visual studio 2015 1 21
Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

856 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