
-----------------------------------
prinson
Tue Aug 26, 2008 9:13 am

Vb6 DataGrid Related..
-----------------------------------
hi.
my question is i want to add new row each time on button click event to my
datagrid. my datagrid name is dtgEntry: 

Code Looks like this.

 Dim r As ADODB.RecordSet
    Dim lCount As Long
    
   Set r = New ADODB.RecordSet
    If Val(txtQuantity.Text) > 0 And Val(txtRate.Text) > 0 Then

    r.Fields.Append "Code", adVarChar, 10
    r.Fields.Append "Product", adVarChar, 50
    r.Fields.Append "Pur. Status", adVarChar, 30
    r.Fields.Append "Quantity", adVarChar, 10
    r.Fields.Append "Unit", adVarChar, 15
    r.Fields.Append "Pieces", adVarChar, 15
    r.Fields.Append "Rate Per.", adVarChar, 20
    r.Fields.Append "Rate", adVarChar, 10
    r.Fields.Append "Amount", adVarChar, 30
    r.Fields.Append "Godown", adVarChar, 50
    r.CursorType = adOpenDynamic
    r.Open
    r.AddNew

    r.Fields(0).Value = txtProductCode.Text
    r.Fields(1).Value = cboShortCode.Text
    r.Fields(2).Value = cboStatus.Text
    r.Fields(3).Value = txtQuantity.Text
    r.Fields(4).Value = cboUnit.Text
    r.Fields(5).Value = txtPieces.Text
    If cboRatePerQuantity.Text = "QTY" Then
        r.Fields(6).Value = "Q"
    Else
        r.Fields(6).Value = "P"
    End If
    r.Fields(7).Value = txtRate.Text
    txtReturnAmount.Text = Format$(Val(txtQuantity.Text) * Val(txtRate.Text), "#0.00")
    r.Fields(8).Value = txtReturnAmount.Text
    r.Fields(9).Value = cboGodownName.Text
    r.AddNew
    Dim i As Integer
    i = dtgEntry.Row  --> The problem is here. 

    If i > 0 Then
    For i = 0 To dtgEntry.Row - 1
       If dtgEntry.RecordSelectors = True Then
           dtgEntry.Row = i
           dtgEntry.Col = i
           dtgEntry.SetFocus

          r.Fields(0).Value = Val(dtgEntry.Columns(0))
          r.Fields(1).Value = dtgEntry.Columns(1)
          r.Fields(2).Value = dtgEntry.Columns(2)
          r.Fields(3).Value = Val(dtgEntry.Columns(3))
          r.Fields(4).Value = dtgEntry.Columns(4)
          r.Fields(5).Value = Val(dtgEntry.Columns(5))
          r.Fields(6).Value = dtgEntry.Columns(6)
          r.Fields(7).Value = Val(dtgEntry.Columns(7))
          r.Fields(8).Value = Val(dtgEntry.Columns(8))
          r.Fields(9).Value = dtgEntry.Columns(9)
          r.AddNew
        End If
    Next
    End If

    Set dtgEntry.DataSource = r

    'txtTotalQty.Text = Format$(txtQuantity.Text, "#0")
'Line1:
'Line2:

    txtPurchase.Text = Val(txtPurchase) + Val(txtReturnAmount)
    If cboPurchaseNo.Text  "" Then
      txtPurchase.Text = Val(GrossTot)
    End If
    If cboParty.Text  "" Then
      txtPurchase.Text = Val(GrossTot)
    End If
    txtTotalQty.Text = Val(txtTotalQty) + Val(txtQuantity)
    If cboPurchaseNo.Text  "" Then
      txtTotalQty.Text = Val(TotQty)
    End If
    txtNetAmountRs.Text = Format$(Val(txtPurchase.Text) + Val(txtExciseRs.Text) - Val(txtDiscountRs.Text) + Val(txtAddLessRs.Text) + Val(txtTaxRs.Text) + Val(txtSurchargeRs.Text), "#0.00")

  Else
    MsgBox "Please enter appropriate quantity and rate!!"
  End If
-----------------------------

The Problem is  i = dtgEntry.Row here. After i add three rows and try to add some more than i returns 0 even though there are rows available in datagrid.

I want to add more rows in datagrid without any limit.
