Datagridview行变得空白 [英] Datagridview rows getting blank

查看:84
本文介绍了Datagridview行变得空白的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

专家们,

美好的一天.

当我添加新行时,我的Datagridview行变得空白.请告知.

My Datagridview rows are getting blank when I add a new row. Please advise.

顺序如下:

1)我使用以下代码填充DGV(图1)

1) I populate the DGV using the following code (Image 1)

代码块1

Code block 1

                '*******************Job #
                If Me.RadioButton3.Checked = True Then

                    RadioButton3.Enabled = False
                    RadioButton4.Enabled = False

                    If ds.Tables(0).Rows.Count > 0 Then
                        Dim docadapter As SqlDataAdapter
                        Dim docds As New DataSet

                        '********************************** Datagridview populate

                        Dim SqlStr As String
                        Me.dgv_shpdetails.AllowUserToAddRows = True
                        dgv_shpdetails.AutoGenerateColumns = True
                        Dim docdt3 As New DataTable

                        SqlStr = "Select invreg_tracknum as 'Track #', invreg_invnum as 'IP invoice #', invreg_ipapprovalnum as 'IP approval #', invreg_docsendclearance as 'IP with agent (Yes/No)', invreg_cs_clearancestatus as 'Clearance status', invreg_shpcat as 'Shipment category', invreg_invvalue as 'IP invoice value', invreg_currency as 'IP invoice currency', invreg_ipinvtype as 'IP invoice type',invreg_shparr_fullpartial as 'Delivery - Full / Partial',invreg_comminvnum as 'Commercial invoice #1',invreg_comminvdate as 'Commercial invoice date #1',invreg_comminvalue as 'Commercial invoice value #1',invreg_commcurrency as 'Commercial invoice currency #1',invreg_comminvnum1 as 'Commercial invoice #2',invreg_comminvdate1 as 'Commercial invoice date #2',invreg_comminvalue1 as 'Commercial invoice value #2',invreg_commcurrency1 as 'Commercial invoice currency #2',invreg_comminvnum2 as 'Commercial invoice #3',invreg_comminvdate2 as 'Commercial invoice date #3',invreg_comminvalue2 as 'Commercial invoice value #3',invreg_commcurrency2 as 'Commercial invoice currency #3',invreg_comminvnum3 as 'Commercial invoice #4',invreg_comminvdate3 as 'Commercial invoice date #4',invreg_comminvalue3 as 'Commercial invoice value #4',invreg_commcurrency3 as 'Commercial invoice currency #4',invreg_comminvnum4 as 'Commercial invoice #5',invreg_comminvdate4 as 'Commercial invoice date #5',invreg_comminvalue4 as 'Commercial invoice value #5',invreg_commcurrency4 as 'Commercial invoice currency #5' from Invoiceregister   where invreg_shparr_jobnum ='" & TextBox30.Text.Trim & "'"


                        docadapter = New SqlDataAdapter(SqlStr, newConnectDB.cnn)
                        docadapter.Fill(docds, "paydetails")
                        docdt3 = docds.Tables("paydetails")

                        If docds.Tables(0).Rows.Count > 0 Then

                            'Duplicate check

                            Dim exists As Boolean = False
                            For Each itm As DataGridViewRow In dgv_shpdetails.Rows
                                If itm.Cells(0).Value = docds.Tables(0).Rows(0)("Track #").ToString().Trim And itm.Cells(0).Value = docds.Tables(0).Rows(0)("IP approval #").ToString().Trim Then
                                    exists = True
                                End If
                            Next

                            If Me.dgv_shpdetails.Rows.Count > 0 AndAlso exists = True Then

                                MessageBox.Show("Invoice already added ...!", "Search status", MessageBoxButtons.OK, MessageBoxIcon.Error)
                                Me.TextBox30.Text = ""
                                Me.TextBox30.Focus()
                            Else

                                dgv_shpdetails.ColumnCount = 30

                                dgv_shpdetails.Columns(0).DataPropertyName = "Track #"
                                dgv_shpdetails.Columns(1).DataPropertyName = "IP invoice #"
                                dgv_shpdetails.Columns(2).DataPropertyName = "IP approval #"
                                dgv_shpdetails.Columns(3).DataPropertyName = "IP with agent (Yes/No)"
                                dgv_shpdetails.Columns(4).DataPropertyName = "Clearance status"
                                dgv_shpdetails.Columns(5).DataPropertyName = "Shipment category"
                                dgv_shpdetails.Columns(6).DataPropertyName = "IP invoice value"
                                dgv_shpdetails.Columns(7).DataPropertyName = "IP invoice currency"
                                dgv_shpdetails.Columns(8).DataPropertyName = "IP invoice type"
                                dgv_shpdetails.Columns(9).DataPropertyName = "Delivery - Full / Partial"
                                dgv_shpdetails.Columns(10).DataPropertyName = "Commercial invoice #1"
                                dgv_shpdetails.Columns(11).DataPropertyName = "Commercial invoice date #1"
                                dgv_shpdetails.Columns(12).DataPropertyName = "Commercial invoice value #1"
                                dgv_shpdetails.Columns(13).DataPropertyName = "Commercial invoice currency #1"
                                dgv_shpdetails.Columns(14).DataPropertyName = "Commercial invoice #2"
                                dgv_shpdetails.Columns(15).DataPropertyName = "Commercial invoice date #2"
                                dgv_shpdetails.Columns(16).DataPropertyName = "Commercial invoice value #2"
                                dgv_shpdetails.Columns(17).DataPropertyName = "Commercial invoice currency #2"
                                dgv_shpdetails.Columns(18).DataPropertyName = "Commercial invoice #3"
                                dgv_shpdetails.Columns(19).DataPropertyName = "Commercial invoice date #3"
                                dgv_shpdetails.Columns(20).DataPropertyName = "Commercial invoice value #3"
                                dgv_shpdetails.Columns(21).DataPropertyName = "Commercial invoice currency #3"
                                dgv_shpdetails.Columns(22).DataPropertyName = "Commercial invoice #4"
                                dgv_shpdetails.Columns(23).DataPropertyName = "Commercial invoice date #4"
                                dgv_shpdetails.Columns(24).DataPropertyName = "Commercial invoice value #4"
                                dgv_shpdetails.Columns(25).DataPropertyName = "Commercial invoice currency #4"
                                dgv_shpdetails.Columns(26).DataPropertyName = "Commercial invoice #5"
                                dgv_shpdetails.Columns(27).DataPropertyName = "Commercial invoice date #5"
                                dgv_shpdetails.Columns(28).DataPropertyName = "Commercial invoice value #5"
                                dgv_shpdetails.Columns(29).DataPropertyName = "Commercial invoice currency #5"



                                'docdt3.Rows.Clear()
                                'For i = 0 To dgv_shpdetails.Rows.Count - 2
                                '    dr = docdt3.NewRow
                                '    For j = 0 To dgv_shpdetails.Columns.Count - 1

                                '        ' dr(j) = dgv_shpdetails.Rows(i).Cells(j).Value
                                '        dr(j) = If(dgv_shpdetails.Rows(i).Cells(j).Value, CObj(DBNull.Value))
                                '    Next
                                '    docdt3.Rows.Add(dr)
                                'Next

                                dgv_shpdetails.DataSource = docdt3

                                dgv_shpdetails.Rows(dgv_shpdetails.Rows.Count - 1).ReadOnly = True
                                dgv_shpdetails.Columns(11).DefaultCellStyle.Format = "dd/MMM/yyyy"
                                dgv_shpdetails.Columns(15).DefaultCellStyle.Format = "dd/MMM/yyyy"
                                dgv_shpdetails.Columns(19).DefaultCellStyle.Format = "dd/MMM/yyyy"
                                dgv_shpdetails.Columns(23).DefaultCellStyle.Format = "dd/MMM/yyyy"
                                dgv_shpdetails.Columns(27).DefaultCellStyle.Format = "dd/MMM/yyyy"
                                dgv_shpdetails.ColumnHeadersDefaultCellStyle.Font = New Font("Arial", 9, FontStyle.Bold)
                                dgv_shpdetails.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter



                                Me.Panel4.Enabled = True
                                Me.TextBox9.Text = ds.Tables(0).Rows(0)("invreg_tracknum").ToString()

                                If ds.Tables(0).Rows(0)("invreg_shparr_modeofshipment").ToString().Trim = "" Then
                                    Me.ComboBox3.Text = ""
                                Else
                                    Me.ComboBox3.Text = ds.Tables(0).Rows(0)("invreg_shparr_modeofshipment").ToString()
                                End If

                                Me.DateTimePicker1.Value = ds.Tables(0).Rows(0)("invreg_shparr_shipmentarrivaldate")

                                If ds.Tables(0).Rows(0)("invreg_shparr_portofarrival").ToString().Trim = "" Then
                                    Me.ComboBox4.Text = ""
                                Else
                                    Me.ComboBox4.Text = ds.Tables(0).Rows(0)("invreg_shparr_portofarrival").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_clearingagent").ToString().Trim = "" Then
                                    Me.ComboBox5.Text = ""
                                Else
                                    Me.ComboBox5.Text = ds.Tables(0).Rows(0)("invreg_shparr_clearingagent").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_shipmentnum").ToString() = "" Then
                                    Me.TextBox1.Text = ""
                                Else
                                    Me.TextBox1.Text = ds.Tables(0).Rows(0)("invreg_shparr_shipmentnum").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_jobnum").ToString() = "" Then
                                    Me.TextBox2.Text = ""
                                Else
                                    Me.TextBox2.Text = ds.Tables(0).Rows(0)("invreg_shparr_jobnum").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_donum").ToString() = "" Then
                                    Me.TextBox4.Text = ""
                                Else
                                    Me.TextBox4.Text = ds.Tables(0).Rows(0)("invreg_shparr_donum").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_flightvesseldetails").ToString() = "" Then
                                    Me.TextBox3.Text = ""
                                Else
                                    Me.TextBox3.Text = ds.Tables(0).Rows(0)("invreg_shparr_flightvesseldetails").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_weightkgs").ToString() = "0.00" Then
                                    Me.TextBox5.Text = "0.00"
                                Else
                                    Me.TextBox5.Text = ds.Tables(0).Rows(0)("invreg_shparr_weightkgs").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_packscartons1").ToString().Trim = "" Then
                                    Me.ComboBox6.Text = ""
                                Else
                                    Me.ComboBox6.Text = ds.Tables(0).Rows(0)("invreg_shparr_packscartons1").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_packscartons2").ToString().Trim = "0.00" Then
                                    Me.TextBox6.Text = "0.00"
                                Else
                                    Me.TextBox6.Text = ds.Tables(0).Rows(0)("invreg_shparr_packscartons2").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_mawb_c").ToString().Trim = "" Then
                                    Me.TextBox7.Text = ""
                                Else
                                    Me.TextBox7.Text = ds.Tables(0).Rows(0)("invreg_mawb_c").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_hawb_c").ToString().Trim = "" Then
                                    Me.TextBox8.Text = ""
                                Else
                                    Me.TextBox8.Text = ds.Tables(0).Rows(0)("invreg_hawb_c").ToString()
                                End If


                                '*********************************************************
                            End If

                        End If
                    Else
                        MessageBox.Show("Job # not found... Please check ...!", "Status", MessageBoxButtons.OK, MessageBoxIcon.Question)
                    End If

                End If

图片1:http://s1122.photobucket.com/user/amsin21/media/Shpdetails1.png.html

Image 1 : http://s1122.photobucket.com/user/amsin21/media/Shpdetails1.png.html

但是当我尝试使用下面的代码添加另一行时,以上行变为空白(图片2)

But when I try to add another row using the code below, the above rows gets blank (Image 2)

代码块2

Code block 2

                If Me.RadioButton1.Checked = True Then ' Ip invoice #

                    Dim docadapter As SqlDataAdapter
                    Dim docds As New DataSet


                    If ds.Tables(0).Rows(0)("invreg_marked_for_deletion").ToString() = "T" Then
                        MessageBox.Show("Invoice # already marked For deletion", "Search status", MessageBoxButtons.OK, MessageBoxIcon.Stop)
                        newConnectDB.DBclose()
                        Me.TextBox30.Text = ""
                    Else


                        '********************************** Datagridview populate

                        Dim SqlStr As String

                        Me.dgv_shpdetails.AllowUserToAddRows = True
                        dgv_shpdetails.AutoGenerateColumns = True
                        Dim docdt2 As New DataTable


                        SqlStr = "Select invreg_tracknum, invreg_invnum, invreg_ipapprovalnum, invreg_docsendclearance, invreg_cs_clearancestatus, invreg_shpcat, invreg_invvalue, invreg_currency, invreg_ipinvtype,invreg_shparr_fullpartial,invreg_comminvnum,invreg_comminvdate,invreg_comminvalue,invreg_commcurrency,invreg_comminvnum1,invreg_comminvdate1,invreg_comminvalue1,invreg_commcurrency1,invreg_comminvnum2,invreg_comminvdate2,invreg_comminvalue2,invreg_commcurrency2,invreg_comminvnum3,invreg_comminvdate3,invreg_comminvalue3,invreg_commcurrency3,invreg_comminvnum4,invreg_comminvdate4,invreg_comminvalue4,invreg_commcurrency4 from Invoiceregister   where invreg_invnum ='" & TextBox30.Text.Trim & "'"
                        docadapter = New SqlDataAdapter(SqlStr, newConnectDB.cnn)
                        docadapter.Fill(docds, "paydetails")
                        docdt2 = docds.Tables("paydetails")

                        If docds.Tables(0).Rows.Count > 0 Then

                            'Duplicate check

                            Dim exists As Boolean = False
                            For Each itm As DataGridViewRow In dgv_shpdetails.Rows
                                If itm.Cells(0).Value = docds.Tables(0).Rows(0)("invreg_tracknum").ToString().Trim Then
                                    exists = True
                                End If
                            Next

                            If Me.dgv_shpdetails.Rows.Count > 0 AndAlso exists = True Then

                                MessageBox.Show("Invoice already added ...!", "Search status", MessageBoxButtons.OK, MessageBoxIcon.Error)
                                Me.TextBox30.Text = ""
                                Me.TextBox30.Focus()
                            Else
                                '30 fields
                                Me.TextBox10.Text = docds.Tables(0).Rows(0)("invreg_tracknum").ToString().Trim
                                Me.TextBox11.Text = docds.Tables(0).Rows(0)("invreg_invnum").ToString().Trim
                                Me.TextBox12.Text = docds.Tables(0).Rows(0)("invreg_ipapprovalnum").ToString().Trim
                                Me.TextBox13.Text = docds.Tables(0).Rows(0)("invreg_docsendclearance").ToString().Trim
                                Me.TextBox14.Text = docds.Tables(0).Rows(0)("invreg_cs_clearancestatus").ToString().Trim
                                Me.TextBox15.Text = docds.Tables(0).Rows(0)("invreg_shpcat").ToString().Trim
                                Me.TextBox16.Text = docds.Tables(0).Rows(0)("invreg_invvalue").ToString().Trim
                                Me.TextBox17.Text = docds.Tables(0).Rows(0)("invreg_currency").ToString().Trim
                                Me.TextBox18.Text = docds.Tables(0).Rows(0)("invreg_ipinvtype").ToString().Trim
                                Me.TextBox42.Text = docds.Tables(0).Rows(0)("invreg_shparr_fullpartial").ToString().Trim
                                Me.TextBox19.Text = docds.Tables(0).Rows(0)("invreg_comminvnum").ToString().Trim
                                Me.TextBox20.Text = docds.Tables(0).Rows(0)("invreg_comminvdate").ToString().Trim
                                Me.TextBox21.Text = docds.Tables(0).Rows(0)("invreg_comminvalue").ToString().Trim
                                Me.TextBox22.Text = docds.Tables(0).Rows(0)("invreg_commcurrency").ToString().Trim
                                Me.TextBox23.Text = docds.Tables(0).Rows(0)("invreg_comminvnum1").ToString().Trim
                                Me.TextBox24.Text = docds.Tables(0).Rows(0)("invreg_comminvdate1").ToString().Trim
                                Me.TextBox25.Text = docds.Tables(0).Rows(0)("invreg_comminvalue1").ToString().Trim
                                Me.TextBox26.Text = docds.Tables(0).Rows(0)("invreg_commcurrency1").ToString().Trim
                                Me.TextBox27.Text = docds.Tables(0).Rows(0)("invreg_comminvnum2").ToString().Trim
                                Me.TextBox28.Text = docds.Tables(0).Rows(0)("invreg_comminvdate2").ToString().Trim
                                Me.TextBox29.Text = docds.Tables(0).Rows(0)("invreg_comminvalue2").ToString().Trim
                                Me.TextBox31.Text = docds.Tables(0).Rows(0)("invreg_commcurrency2").ToString().Trim
                                Me.TextBox32.Text = docds.Tables(0).Rows(0)("invreg_comminvnum3").ToString().Trim
                                Me.TextBox33.Text = docds.Tables(0).Rows(0)("invreg_comminvdate3").ToString().Trim
                                Me.TextBox34.Text = docds.Tables(0).Rows(0)("invreg_comminvalue3").ToString().Trim
                                Me.TextBox35.Text = docds.Tables(0).Rows(0)("invreg_commcurrency3").ToString().Trim
                                Me.TextBox36.Text = docds.Tables(0).Rows(0)("invreg_comminvnum4").ToString().Trim
                                Me.TextBox37.Text = docds.Tables(0).Rows(0)("invreg_comminvdate4").ToString().Trim
                                Me.TextBox38.Text = docds.Tables(0).Rows(0)("invreg_comminvalue4").ToString().Trim
                                Me.TextBox39.Text = docds.Tables(0).Rows(0)("invreg_commcurrency4").ToString().Trim


                                dgv_shpdetails.Columns(0).DataPropertyName = "invreg_tracknum"
                                dgv_shpdetails.Columns(1).DataPropertyName = "invreg_invnum"
                                dgv_shpdetails.Columns(2).DataPropertyName = "invreg_ipapprovalnum"
                                dgv_shpdetails.Columns(3).DataPropertyName = "invreg_docsendclearance"
                                dgv_shpdetails.Columns(4).DataPropertyName = "invreg_cs_clearancestatus"
                                dgv_shpdetails.Columns(5).DataPropertyName = "invreg_shpcat"
                                dgv_shpdetails.Columns(6).DataPropertyName = "invreg_invvalue"
                                dgv_shpdetails.Columns(7).DataPropertyName = "invreg_currency"
                                dgv_shpdetails.Columns(8).DataPropertyName = "invreg_ipinvtype"
                                dgv_shpdetails.Columns(9).DataPropertyName = "invreg_shparr_fullpartial"
                                dgv_shpdetails.Columns(10).DataPropertyName = "invreg_comminvnum"
                                dgv_shpdetails.Columns(11).DataPropertyName = "invreg_comminvdate"
                                dgv_shpdetails.Columns(12).DataPropertyName = "invreg_comminvalue"
                                dgv_shpdetails.Columns(13).DataPropertyName = "invreg_commcurrency"
                                dgv_shpdetails.Columns(14).DataPropertyName = "invreg_comminvnum1"
                                dgv_shpdetails.Columns(15).DataPropertyName = "invreg_comminvdate1"
                                dgv_shpdetails.Columns(16).DataPropertyName = "invreg_comminvalue1"
                                dgv_shpdetails.Columns(17).DataPropertyName = "invreg_commcurrency1"
                                dgv_shpdetails.Columns(18).DataPropertyName = "invreg_comminvnum2"
                                dgv_shpdetails.Columns(19).DataPropertyName = "invreg_comminvdate2"
                                dgv_shpdetails.Columns(20).DataPropertyName = "invreg_comminvalue2"
                                dgv_shpdetails.Columns(21).DataPropertyName = "invreg_commcurrency2"
                                dgv_shpdetails.Columns(22).DataPropertyName = "invreg_comminvnum3"
                                dgv_shpdetails.Columns(23).DataPropertyName = "invreg_comminvdate3"
                                dgv_shpdetails.Columns(24).DataPropertyName = "invreg_comminvalue3"
                                dgv_shpdetails.Columns(25).DataPropertyName = "invreg_commcurrency3"
                                dgv_shpdetails.Columns(26).DataPropertyName = "invreg_comminvnum4"
                                dgv_shpdetails.Columns(27).DataPropertyName = "invreg_comminvdate4"
                                dgv_shpdetails.Columns(28).DataPropertyName = "invreg_comminvalue4"
                                dgv_shpdetails.Columns(29).DataPropertyName = "invreg_commcurrency4"

                                docdt2.Rows.Clear()
                                For i = 0 To dgv_shpdetails.Rows.Count - 2
                                    dr = docdt2.NewRow
                                    For j = 0 To dgv_shpdetails.Columns.Count - 1

                                        ' dr(j) = dgv_shpdetails.Rows(i).Cells(j).Value
                                        dr(j) = If(dgv_shpdetails.Rows(i).Cells(j).Value, CObj(DBNull.Value))
                                    Next
                                    docdt2.Rows.Add(dr)
                                Next


                                'docdt2.Rows.Clear()
                                'For i = 0 To dgv_shpdetails.Rows.Count - 2
                                '    dr = docdt2.NewRow
                                '    For j = 0 To dgv_shpdetails.Columns.Count - 1
                                '        ' MsgBox(dgv_shpdetails.Rows(i).Cells(j).Value)
                                '        dr(j) = dgv_shpdetails.Rows(i).Cells(j).Value
                                '    Next
                                '    docdt2.Rows.Add(dr)
                                'Next


                                docdt2.Rows.Add(TextBox10.Text.Trim, TextBox11.Text.Trim, TextBox12.Text.Trim, TextBox13.Text.Trim, TextBox14.Text.Trim, TextBox15.Text.Trim, TextBox16.Text.Trim, TextBox17.Text.Trim, TextBox18.Text.Trim, TextBox42.Text.Trim, TextBox19.Text.Trim, TextBox20.Text.Trim, TextBox21.Text.Trim, TextBox22.Text.Trim, TextBox23.Text.Trim, TextBox24.Text.Trim, TextBox25.Text.Trim, TextBox26.Text.Trim, TextBox27.Text.Trim, TextBox28.Text.Trim, TextBox29.Text.Trim, TextBox31.Text.Trim, TextBox32.Text.Trim, TextBox33.Text.Trim, TextBox34.Text.Trim, TextBox35.Text.Trim, TextBox36.Text.Trim, TextBox37.Text.Trim, TextBox38.Text.Trim, TextBox39.Text.Trim)
                                dgv_shpdetails.DataSource = docdt2
                                dgv_shpdetails.ColumnHeadersDefaultCellStyle.Font = New Font("Arial", 9, FontStyle.Bold)
                                dgv_shpdetails.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

                                '*********************************************************

                                Me.Panel4.Enabled = True
                                Me.TextBox9.Text = ds.Tables(0).Rows(0)("invreg_tracknum").ToString()

                                If ds.Tables(0).Rows(0)("invreg_shparr_modeofshipment").ToString().Trim = "" Then
                                    Me.ComboBox3.Text = ""
                                Else
                                    Me.ComboBox3.Text = ds.Tables(0).Rows(0)("invreg_shparr_modeofshipment").ToString()
                                End If

                                Me.DateTimePicker1.Value = ds.Tables(0).Rows(0)("invreg_shparr_shipmentarrivaldate")

                                If ds.Tables(0).Rows(0)("invreg_shparr_portofarrival").ToString().Trim = "" Then
                                    Me.ComboBox4.Text = ""
                                Else
                                    Me.ComboBox4.Text = ds.Tables(0).Rows(0)("invreg_shparr_portofarrival").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_clearingagent").ToString().Trim = "" Then
                                    Me.ComboBox5.Text = ""
                                Else
                                    Me.ComboBox5.Text = ds.Tables(0).Rows(0)("invreg_shparr_clearingagent").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_shipmentnum").ToString() = "" Then
                                    Me.TextBox1.Text = ""
                                Else
                                    Me.TextBox1.Text = ds.Tables(0).Rows(0)("invreg_shparr_shipmentnum").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_jobnum").ToString() = "" Then
                                    Me.TextBox2.Text = ""
                                Else
                                    Me.TextBox2.Text = ds.Tables(0).Rows(0)("invreg_shparr_jobnum").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_donum").ToString() = "" Then
                                    Me.TextBox4.Text = ""
                                Else
                                    Me.TextBox4.Text = ds.Tables(0).Rows(0)("invreg_shparr_donum").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_flightvesseldetails").ToString() = "" Then
                                    Me.TextBox3.Text = ""
                                Else
                                    Me.TextBox3.Text = ds.Tables(0).Rows(0)("invreg_shparr_flightvesseldetails").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_weightkgs").ToString() = "0.00" Then
                                    Me.TextBox5.Text = "0.00"
                                Else
                                    Me.TextBox5.Text = ds.Tables(0).Rows(0)("invreg_shparr_weightkgs").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_packscartons1").ToString().Trim = "" Then
                                    Me.ComboBox6.Text = ""
                                Else
                                    Me.ComboBox6.Text = ds.Tables(0).Rows(0)("invreg_shparr_packscartons1").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_shparr_packscartons2").ToString().Trim = "0.00" Then
                                    Me.TextBox6.Text = "0.00"
                                Else
                                    Me.TextBox6.Text = ds.Tables(0).Rows(0)("invreg_shparr_packscartons2").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_mawb_c").ToString().Trim = "" Then
                                    Me.TextBox7.Text = ""
                                Else
                                    Me.TextBox7.Text = ds.Tables(0).Rows(0)("invreg_mawb_c").ToString()
                                End If

                                If ds.Tables(0).Rows(0)("invreg_hawb_c").ToString().Trim = "" Then
                                    Me.TextBox8.Text = ""
                                Else
                                    Me.TextBox8.Text = ds.Tables(0).Rows(0)("invreg_hawb_c").ToString()
                                End If

                                '**********************************************************
                            End If
                        Else
                            MessageBox.Show("Invoice details - DGV query error... Please check ...!", "Status", MessageBoxButtons.OK, MessageBoxIcon.Question)

                        End If
                    End If

图片2:http://s1122.photobucket.com/user/amsin21/media/Shpdetails2.png.html

Image 2 : http://s1122.photobucket.com/user/amsin21/media/Shpdetails2.png.html

我可以使用 代码块2 添加任意数量的行,而不会出现上述任何错误.仅在使用填充DGV之后 代码块1 ,并尝试使用 生成 代码块2 错误.

I am able to add any number of rows using the code block 2 with out any error like above. Only after populating DGV using code block 1 and the trying to add row using code block 2 error is generated.

之所以添加它,是因为发票值错误.

I added this because of the null invoice value error.

 dr(j) = If(dgv_shpdetails.Rows(i).Cells(j).Value, CObj(DBNull.Value))

请告知.

感谢&问候,

Ajit

推荐答案

你好,

这里发生了很多事情,不确定是什么问题,但会提出一些建议.

There is a lot going on here, not sure what the issues is but will make some suggestions.

通过DataSource填充DataGridView时,您永远不要查看它的单元格值进行断言,而应通过Field属性(例如,通过)迭代基础DataRow来查看数据.

When a DataGridView is populated via it's DataSource you should never look at it's cell values for assertion but instead look at the data by iterating the underlying DataRow via Field property e.g. 

Dim dt As DataTable = CType(dgv_shpdetails.DataSource, DataTable)
For Each row As DataRow In dt.Rows
    If IsDBNull(row.Item("SomeFieldName")) Then
        ' it's null
    Else
        ' do something with the field
        row.SetField(Of Integer)("SomeFieldName", 1)
    End If
Next

而不是

Me.TextBox10.Text = docds.Tables(0).Rows(0)("invreg_tracknum").ToString().Trim

Me.TextBox10.Text = docds.Tables(0).Rows(0)("invreg_tracknum").ToString().Trim

TextBox10.DataBindings.Add("Text",dt,"SomeFieldName")

与其像现在那样做重复检查,不如考虑在SQL SELECT语句中这样做以及首先防止重复检查.

Rather than do duplicate checks as done currently consider doing this in SQL SELECT statement along with preventing them in the first place.


这篇关于Datagridview行变得空白的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆