私はここにこだわりました。
私はDataGridViewを8列(ユーザー入力のための7番目の待ち時間と8番目の数学があります)しています。
これは私が「追加」を意味し、「Adauga」をクリックすると、総キロカロリーテキストボックスが
キロカロリー(列)*(cantitate =数量)とプレタにその値を更新する必要があります親フォーム複数のDataGridViewCellから値を追加してTextBoxに出力する方法?
です合計=合計価格はその値をプレット=価格(列)*(キャンティート)
に更新しますが、これは1行だけです。私が説明してみましょう:あなたが上から見ることができるように、私は3番目のボタン(上から下へ)をクリックし、618,10を返しました(kcalは618 * 1です)。 、見てThey don't add
値は以前のものに追加されない、私はこれを行う方法がわかりません。 これはコードです:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
var senderGrid = (DataGridView)sender;
if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
{
var pret = dataGridView1.Rows[e.RowIndex].Cells[3].Value;
var kcal = dataGridView1.Rows[e.RowIndex].Cells[4].Value;
var qt = dataGridView1.Rows[e.RowIndex].Cells[6].Value;
int qty = int.Parse(qt.ToString());
int kca = int.Parse(kcal.ToString());
int pre = int.Parse(pret.ToString());
int kcalTotal = 0, pretTotal = 0;
kcalTotal = kcalTotal + (qty * kca);
pretTotal = pretTotal + (qty * pre);
totalPR.Text = pretTotal.ToString();
totalKC.Text = kcalTotal.ToString();
}
}
これを行うと、「入力文字列が正しい形式ではありません」というエラーが表示されます。 –
これは(おそらく)あなたのテキストボックスのデフォルト値が空であるためです。あなたは 'try-catch'を使うか、テキストボックスのデフォルト値を' '0 ''にするか、 '' int.TryParse'を使う必要があります。 私の答えを編集し、それをint.TryParseアプローチに変更しました。 – zockDoc
ありがとう、ありがとう。これらのコードの背後にある "魔法"を教えてください。私は毎日勉強しているC#WinFormsを初めて使っています:) Btw、TryParseアプローチを使用しましたが、あなたが言及した3つのうちどれが最も効果的ですか? –