Datagridview行变得空白

编程入门 行业动态 更新时间:2024-10-21 03:33:16
本文介绍了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, newConnectDBn) 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:s1122.photobucket/user/amsin21/media/Shpdetails1.png.html

Image 1 :s1122.photobucket/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, newConnectDBn) 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:s1122.photobucket/user/amsin21/media/Shpdetails2.png.html

Image 2 :s1122.photobucket/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 2error 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行变得空白

本文发布于:2023-07-19 08:51:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1154883.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:空白   Datagridview

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!