私はいくつかの有用なガイドをインターネットで探していましたが、2つの数字を連続して倍数にし、その値を覚えてから、datagridviewの残りの行に対して同じことを行い、それらすべての値を合計する方法はありません. そして、合計サマリーが に表示されtextbox
ます。これらの 2 つの列は、 を使用して表示されますSqlCommand
。textbox
しかし、列datagridviewに変更が加えられるたびに値を変更したいと思いpocet
ます(datagridviewを変更すると、値がSQLに挿入されません)。だから私は躊躇せず、ここの前の質問とユーザー varocarbas であなたに尋ねました - 彼がそれを作るのに費やした彼の時間にとても感謝しています.
彼はこのコードを思いつきました:
void calculateProductTwoColumns(int castkaIndex, int pocetIndex, int tot_rows)
{
try
{
double[] outVals = new double[tot_rows + 1];
int curRow = 0;
foreach (DataGridViewRow row in dtg_ksluzby.Rows)
{
curRow = curRow + 1;
outVals[curRow] = (double)row.Cells[castkaIndex].Value * (double)row.Cells[pocetIndex].Value;
kpriplac.Text = outVals.ToString();
}
}
catch (Exception ex)
{
MessageBox.Show("" + ex.Message.ToString());
}
}
それで、私はそれを「改善」して、自分が望むように機能させようとしましたが、ほとんど台無しにしたと思います. 各行の列 pocet(dgv index 3) と cena(dgv index 2) を乗算したいと思います。したがって、このメソッドを次のように呼び出します。
calculateProductTwoColumns(2, 3, 4);
デバッグを開始すると、次Specified cast is not valid.
のように表示されます。
pocet は int で、castka は数値 numeric(15, 2)
これをお読みいただきありがとうございます。コメントやガイドへの参照をお待ちしております。