Datagridview行变得空白 [英] Datagridview rows getting blank
问题描述
专家们,
美好的一天.
当我添加新行时,我的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屋!