여기에 붙어 있습니다.
DataGridView에 8 개의 열 (사용자 입력을위한 7 번째 대기와 8 번째 연산)이 있습니다.
이것은 내가 "추가"의미 "에 올리기"를 클릭하면 총 킬로 칼로리 텍스트 상자가
킬로 칼로리 (열) * (cantitate = 양)와 프레 타에 그 값을 업데이트해야합니다 부모 폼여러 DataGridViewCell에서 값을 추가하고 TextBox에 출력하는 방법?
입니다 합계 = 총 가격은 그 값을 pret = 가격 (열) * (상정)
으로 업데이트합니다. 단 하나의 행에 대해서만 적용됩니다. 설명해 드리겠습니다 : 위에서 볼 수 있듯이 3 번 (아래에서 위로) 버튼을 클릭하면 618,10 (가격은 10 * 1 수량) (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 접근법을 사용했는데 언급 한 세 가지 중 가장 효과적인 것은 무엇인가? –