2013-12-13 3 views
-2

У меня возникают проблемы с моим кодом. Это говорит в ошибке, что я должен положить New в код, но я не знаю, где его поставить. Это полный код функции:VB.Net Data Grid View

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged 
    Try 
     Dim TA As New POSCanteenTableAdapters.ItemsTableAdapter 
     Dim TB = TA.GetDataByBarcode(TextBox1.Text) 
     If TB.Rows.Count = 0 Then 
      TextBox2.Text = "" 
      TextBox3.Text = "" 
      Button1.Enabled = False 
      Exit Sub 
     End If 
     Button1.Enabled = True 
     Dim IR As POSCanteen.ItemsRow = TB.Rows(0) 
     TextBox2.Text = IR.ItemName 
     TextBox3.Text = IR.SellPrice 
     Button2.Tag = IR 
    Catch ex As Exception 
     MsgBox(ex.Message, MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly) 
    End Try 
End Sub 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim IR As POSCanteen.ItemsRow = Button1.Tag 
    Dim RI As New Integer 
    Dim ItemLoc As Integer = -1 
    For RI = 0 To CDGV3.Rows.Count - 1 
     If IR.Barcode = CDGV3.Rows(RI).Cells(0).Value Then 
      ItemLoc = RI 
      Exit For 
     End If 
    Next 
    If ItemLoc = -1 Then 
     CDGV3.Rows.Add(IR.Barcode, IR.ItemName, IR.BuyPrice, IR.SellPrice, 1, IR.SellPrice) 
    Else 
     Dim ItemCount As Long = CDGV3.Rows(ItemLoc).Cells(4).Value 
     ItemCount += 1 
     Dim NewPrice As Decimal = IR.SellPrice * ItemCount 
     CDGV3.Rows(ItemLoc).Cells(4).Value = ItemCount 
     CDGV3.Rows(ItemLoc).Cells(5).Value = NewPrice 
    End If 
    TextBox1.Text = "" 
    TextBox1.Focus() 
End Sub 

Предполагается добавить элемент в таблице данных, но он не будет из-за этой ошибки. Я не знаю, где его поставить, поскольку компилятор не говорит мне, где.

Это сообщение об исключении: Object reference not set to an instance of an object.

+1

ГДЕ ЕСТЬ ПРИЧИНАТЬ? VS расскажет вам, в чем именно НИЧЕГО, просто используя мышь. – Plutonix

+0

Со стороны на CDGV3.rows.add (IR.ItemName.IR.BuyPrice, Ir.SellPrice, 1, Ir.Sellprice) – GMSieghart

+1

С помощью мыши над переменной 'IR' это' Nothing'? – OneFineDay

ответ

0

Я не могу получить свою линию так что я предлагаю это.

Попробуйте любого из этой

Dim IR As New POSCanteen.ItemsRow = Button1.Tag 

Dim ItemCount As New Long = CDGV3.Rows(ItemLoc).Cells(4).Value 

Dim NewPrice As New Decimal = IR.SellPrice * ItemCount 
+0

Я уже пробовал это !, но он производит больше ошибок!: D! функция для Button!: D! – GMSieghart

+0

Можете ли вы сказать мне, где вы получение ошибки –

+0

Я положил все коды! im получаю исключение из части в CDGV3.Rows.add (IR.Barcode, IR.ItemName, IR.BuyPrice, IR.SellPrice, 1, IR.SellPrice) – GMSieghart

1

Вы должны думать о будущем возможности того, что объект не преобразует (особенно, когда вы позволяете догадку компилятора). Не уверен, что это объект, вызывающий проблему, но вы, возможно, знаете. Узнайте, как выполнить код с помощью отладчика.

Dim IR = TryCast(Button1.Tag, {type}) 
If Not IR Is Nothing Then 
    'rest of your code 
End If 
Смежные вопросы