2015-11-19 4 views
-1

Я никогда не сталкивался с таким странным поведением объекта datagridview. i m populating a column from a dataset to a datagridview column. all the columns are presented properly except one column, all the string i m, заселяющий эту колонку, отображается как «0» , но действительное значение ячейки не равно «0» ее строке, которая должна быть там (проверено, что с циклом столбца и указанием значения с помощью messegebox) i не могу понять, как это исправить.В столбце DataGridView представлено только значение 0

код:

Private Sub filldgv(ByVal dgv As DataGridView, ByVal colarr() As String, ByVal query As String, ByVal table As String) 
     dgv.Rows.Clear() 
     Dim ds As DataSet 
     Dim fill As New Analist.SalesAnalistArray 
     ds = fill.ReturenDataSet(query, table) 

     If ds.Tables(table).Rows.Count >= 1 Then 
      ' add rows 
      If ds.Tables(table).Rows.Count > 1 Then 
       dgv.Rows.Add(ds.Tables(table).Rows.Count - 1) 
      End If 


      ' populate to dgv 
      For i = 0 To ds.Tables(table).Rows.Count - 1 
       For Each itm In colarr 
        dgv.Rows(i).Cells(itm.Substring(0, itm.IndexOf("|").ToString)).Value = ds.Tables(table).Rows(i).Item(itm.Substring(itm.IndexOf("|") + 1, (itm.Length - itm.IndexOf("|")) - 1).ToString).ToString 
       Next 
      Next 
     End If 


     ' calculate income of each Account Manager 
     ds.Clear() 
     ds = fill.ReturenDataSet("SELECT G, F, K, L, M, N FROM Calculator", "Calculator") 
     table1 = ds.Tables("Calculator") 



     For i = 0 To dgv.Rows.Count - 1 
      'totalIncome = dt.Compute("Sum(K)", "G= " & dgv.Rows(i).Cells(0).ToString) 

      dgv.Rows(i).Cells(3).Value = getIncome(dgv.Rows(i).Cells(0).Value, dgv.Rows(i).Cells(1).Value) 
     Next 


     table1.Dispose() 
     fill.Dispose() 
     ds.Dispose() 
     ds = Nothing 
     table1 = Nothing 
    End Sub 
+0

Вставьте код, который вы написали. –

+0

Сложно сказать, учитывая странное форматирование, но похоже, что настройка 'totalIncome' фактически закомментирована. Это действительно так, или я неправильно читаю код? – ChrisF

+0

добавил код, обратите внимание, что я также пытался заполнить данные в этом столбце без этих сложных подстрок, которые вы видите в коде, а также попытался заполнить индекс столбца, а не имя столбца. также проверил, что имя столбца - это то, что должно быть ... ничего не помогает – Jonathan

ответ

0

OK неловко ... перед тем i`m удалить этот пост, это "если steatment" решил. Проблемная колонна была колонкой 3 ...

If dgv.Name = "dgvAcManagers" Then 


      ds = fill.ReturenDataSet("SELECT G, F, K, L, M, N FROM Calculator", "Calculator") 
      table1 = ds.Tables("Calculator") 



      For i = 0 To dgv.Rows.Count - 1 
       'totalIncome = dt.Compute("Sum(K)", "G= " & dgv.Rows(i).Cells(0).ToString) 

       dgv.Rows(i).Cells(3).Value = getIncome(dgv.Rows(i).Cells(0).Value, dgv.Rows(i).Cells(1).Value) 
      Next 


      table1.Dispose() 
     End If 
Смежные вопросы