2016-08-23 1 views
0

DataGridViewには既にすべてのアイテムのリストが含まれています。これは、DataSetに含まれる資料の移動記録に基づいています。 DataGridViewには既にA、B、C、Dなどのすべての商品が含まれています。プログラムはDataSetに含まれる在庫の動きに基づいて各商品の現在の残高を確認します。DataGridViewに含まれるデータに基づいて、DataSetからDataGridViewに値を挿入する方法はありますか?

私は他の人の中にforeachをすると思った。 DataGridViewは、アイテムの名前を見つけるために行単位で出力し、他の内部foreachは、在庫の移動が記録されているdataSetで検索を行います。

このようにしましたが、Balance列の最初の行だけを埋めています。

void FillDataGrid() 
{ 
    var result = 0; 
    string strRowMaterial = string.Empty; 

    Conection ca = new Conection(); 
    string sql = ""; 
    sql += " Select "; 
    sql += " idRegMovement, CatMovement, NameMovement, codMaterial, AmountMovemented "; 
    sql += " From RegMovement "; 
    sql += " ORDER BY idRegMovement "; 

    ca.Connect(); 
    OleDbDataAdapter da = new OleDbDataAdapter(sql, ca.cx); 
    DataSet ds = new DataSet(); 
    da.Fill(ds, "RegMovements"); 
    if (ds.Tables["RegMovements"].Rows.Count == 0) 
    { 
     ca.Disconnect(); 
    } 
    else 
    { 

     foreach (DataGridViewRow dr in datagridview.Rows) 
     { 
      strRowMaterial = Convert.ToString(dr.Cells["codMaterial"].Value); 

      foreach (DataRow row in ds.Tables["RegMovements"].Rows) 
      { 
       if (string.Compare(row["codMaterial"].ToString(), strRowMaterial, StringComparison.InvariantCultureIgnoreCase) == 0) 
       { 
        var Amount = Convert.ToInt32(row["AmountMovemented"]); 

        if (string.Compare(row["CatMovement"].ToString(), "Input", StringComparison.InvariantCultureIgnoreCase) == 0) 
         result += Amount; 

        else 
         result -= Amount; 
       } 
       else 
       { 
        result = 0; 
       }       

      } 
      datagridview.CurrentRow.Cells["Balance"].Value = result; 
     } 
    } 
    ca.Disconnect(); 
} 

よろしくお願いいたします。使用する値にのみ1行CurrentRow

datagridview.CurrentRow.Cells["Balance"].Value = result; 

を追加する場合は、あなたが通過するforeach場合

答えて

0

foreach (DataGridViewRow dr in datagridview.Rows) 

あなたはまた、変数を使用する必要があります。

dr.Cells["Balance"].Value = result; 
+0

は非常に感謝します、@モン!それは動作します! – Leandro

+0

ようこそ。 –

関連する問題