2016-08-01 54 views
0

我有一個vb.net窗口應用程序,它具有通過文本框輸入的一些值。 和兩個datagridviews,在第一個datagridview,當我在所有列中輸入值時,我有一個公式,它從Textboxes和DatagridView1列值中取值。這些計算值應顯示在第二個datagridview列中。 爲此,我嘗試了兩種方法,但都顯示問題。 首先嚐試:從vb.net中的另一個datagridview中獲取值給DatagridView添加計算值

//First Datagridview -LogCalcEnter , Second Datagrid - LogCalValue 

    Private Sub LogCalcEnter_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles LogCalcEnter.CellValueChanged 

    LogCalValue.Rows(intRow).Cells(0).Value = LogCalcEnter.Rows(iRow).Cells(0).Value * fPorCutoff.Text 

    LogCalValue.Rows(intRow).Cells(1).Value = LogCalcEnter.Rows(iRow).Cells(1).Value * fSWCutoff.Text 

     End Sub 

當執行應用程序時,顯示低於誤差表單之前發生在OnCreateMainForm

Me.MainForm = Global.LogCalculation.Form1()。

附加信息:創建表單時發生錯誤。有關詳細信息,請參閱 Exception.InnerException。錯誤是:索引超出了 範圍。必須是非負數且小於集合的大小。 參數名稱:索引

所以我嘗試另一種選擇i的形式有按鈕,當我按下按鈕,然後依賴於行數在第一網格視圖我將設定值的第二數據網格。 但它工作,如果我在Datagridview1中有一行。如果多於一行,它會在第二行顯示錯誤。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click  
     Dim oLog As New Log  
     oLog.sWellName = tWellname.Text 
     oLog.fPoroCutoff = fPorCutoff.Text 
     oLog.fSWCutOff = fSWCutoff.Text 
     oLog.fN = fN.Text 
     oLog.fM = fM.Text 
     oLog.fA = fA.Text 
     oLog.fRW = fRW.Text  
     For iRow = 0 To LogCalcEnter.Rows.Count - 1 
      If (Trim(LogCalcEnter.Rows(iRow).Cells(0).Value) <> "" And Trim(LogCalcEnter.Rows(iRow).Cells(1).Value) <> "" And Trim(LogCalcEnter.Rows(iRow).Cells(2).Value) <> "") Then 

       LogCalValue.Rows(iRow).Cells(0).Value = LogCalcEnter.Rows(iRow).Cells(0).Value * oLog.fPoroCutoff 
       LogCalValue.Rows(iRow).Cells(1).Value = LogCalcEnter.Rows(iRow).Cells(1).Value * oLog.fSWCutOff 
       LogCalValue.Rows(iRow).Cells(2).Value = LogCalcEnter.Rows(iRow).Cells(2).Value * oLog.fN 

      End If 
     Next iRow  
    End Sub 

其實我只想要第一個選項。但是這兩起案件都失敗了。

回答

0

在第一個事件中,您的intRow & iRow可能未定義。

試試這個,

LogCalValue.Item(0, e.RowIndex).Value = LogCalcEnter.Item(0, e.RowIndex).Value * fPorCutoff.Text 

LogCalValue.Item(1, e.RowIndex).Value = LogCalcEnter.Item(1, e.RowIndex).Value * fSWCutoff.Text 
+0

號相同錯誤發生。 – Anu

+0

選中此鏈接(http://stackoverflow.com/questions/11887232/error-inside-of-application-designer-vb-inside-of-oncreatemainform-sub),它可能與您的問題有關。 – Leprechaun

相關問題