Solved clear a GridView bound to a data table

Posted on 2012-08-16
Last Modified: 2012-08-16

I am trying to clear a GridView that I loaded using the code below using the following few lines but it doesn't clear
    GridView1.DataSource = Nothing
        GridView1.DataSource = dTable

    Protected Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click

            'First set back to no credits when no rows in GridView
            If Me.GridView1.Rows.Count < 1 Then
                Me.lblC.Visible = False
            End If

            If Me.CheckBox1.Checked = True Then
                'If there is even one credit then must show open columns for all
                Me.lblC.Visible = True
            End If

            If Me.VATType.Text = "" Then
                Me.lblAddError.Text = "Please select a VAT type"
                Exit Sub
            End If

            If Me.Cat1.Text = "-" Then
                Me.lblAddError.Text = "Please select Category1"
                Exit Sub
            End If
            If Me.Cat2.Text = "-" Then
                Me.lblAddError.Text = "Please select Category2 (If none Select Category1 first)"
                Exit Sub
            End If
            If Me.Cat3.Text = "-" Then
                Me.lblAddError.Text = "Please select Category3 (If none Select Category2 first)"
                Exit Sub
            End If

            Dim i As Integer
            Dim C1, C2, C3, C4, C5, C6, C7, C8, C9 As String

            dTable.Columns.Add("Gross Amount", GetType(String))
            dTable.Columns.Add("Credit", GetType(String))
            dTable.Columns.Add("VT", GetType(String))
            dTable.Columns.Add("VAT Amount", GetType(String))
            dTable.Columns.Add("Credit VAT", GetType(String))
            dTable.Columns.Add("exVAT", GetType(String))
            dTable.Columns.Add("Category Type 1", GetType(String))
            dTable.Columns.Add("Category Type 2", GetType(String))
            dTable.Columns.Add("Category Type 3", GetType(String))

            For i = 0 To Me.GridView1.Rows.Count - 1
                C1 = Me.GridView1.Rows(i).Cells(1).Text
                C2 = Me.GridView1.Rows(i).Cells(2).Text
                C3 = Me.GridView1.Rows(i).Cells(3).Text
                C4 = Me.GridView1.Rows(i).Cells(4).Text
                C5 = Me.GridView1.Rows(i).Cells(5).Text
                C6 = Me.GridView1.Rows(i).Cells(6).Text
                C7 = Me.GridView1.Rows(i).Cells(7).Text
                C8 = Me.GridView1.Rows(i).Cells(8).Text
                C9 = Me.GridView1.Rows(i).Cells(9).Text

                AddLine(dTable, C1, C2, C3, C4, C5, C6, C7, C8, C9)

            If IsNumeric(Me.GrossAmount_TextBox.Text) = False Then
                'this will take care of a blank space too
                Me.GrossAmount_TextBox.Text = "0"
            End If

            If IsNumeric(txtCredit1.Text) = False Then
                'this will take care of a blank space too
                Me.txtCredit1.Text = "0"
            End If
            If IsNumeric(VATAmount_TextBox.Text) = False Then
                'this will take care of a blank space too
                Me.VATAmount_TextBox.Text = "0"
            End If
            If IsNumeric(txtCredit2.Text) = False Then
                'this will take care of a blank space too
                Me.txtCredit2.Text = "0"
            End If

            If IsNumeric(NonVAT_Amount_TextBox.Text) = False Then
                'this will take care of a blank space too
                Me.NonVAT_Amount_TextBox.Text = "0"
            End If

            AddLine(dTable, GrossAmount_TextBox.Text, txtCredit1.Text, VATType.Text, VATAmount_TextBox.Text, txtCredit2.Text, NonVAT_Amount_TextBox.Text, Cat1.Text, Cat2.Text, Cat3.Text)
            ''HERE YOU CAN CALL AddLine as many times as you want with different parameters
            GridView1.DataSource = dTable

            GridView1.Rows(0).Cells(1).Width = 98
            If Me.lblC.Visible = True Then
                GridView1.HeaderRow.Cells(2).Text = "Credit"
                GridView1.Rows(0).Cells(2).Width = 62
                GridView1.HeaderRow.Cells(2).Text = ""
                GridView1.Rows(0).Cells(2).Width = 0
                GridView1.Rows(GridView1.Rows.Count - 1).Cells(2).Text = ""
            End If

            GridView1.Rows(0).Cells(3).Width = 38
            GridView1.Rows(0).Cells(4).Width = 85

            If Me.lblC.Visible = True Then
                GridView1.HeaderRow.Cells(5).Text = "Credit VAT"
                GridView1.Rows(0).Cells(5).Width = 52
                GridView1.HeaderRow.Cells(5).Text = ""
                GridView1.Rows(0).Cells(5).Width = 0
                GridView1.Rows(GridView1.Rows.Count - 1).Cells(5).Text = ""
            End If

            GridView1.Rows(0).Cells(6).Width = 52
            GridView1.Rows(0).Cells(7).Width = 175
            GridView1.Rows(0).Cells(8).Width = 170
            GridView1.Rows(0).Cells(9).Width = 170

        Catch ex As Exception
            Me.lblAddError.Text = ex.Message
        End Try

    End Sub
Question by:murbro
    LVL 20

    Accepted Solution



    Author Closing Comment

    Thanks very much

    Featured Post

    6 Surprising Benefits of Threat Intelligence

    All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

    Join & Write a Comment

    Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
    In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
    This video discusses moving either the default database or any database to a new volume.
    Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

    745 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

    Need Help in Real-Time?

    Connect with top rated Experts

    19 Experts available now in Live!

    Get 1:1 Help Now