【发布时间】:2019-02-20 01:17:11
【问题描述】:
我有一个 datagridview,其中的列数根据数据库中的数据是动态的。前三列用于显示姓名、姓氏和全名,最后三列用于显示其他人的信息。我想为每一行计算前三列和最后三列之间的总和,并将总和放在Total 列中。我的结果不正确。
下面是我的代码:
private void DgvPV_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
try
{
double Sum = 0;
int countColumn = DgvPV.ColumnCount;
int countRow = DgvPV.RowCount;
int column = countColumn - 4;
for (int i = 0; i < countRow; i++)
{
for (int j = 3; j < column; j++)
{
Sum += Convert.ToDouble(DgvPV.Rows[i].Cells[j].Value.ToString());
DgvPV.Rows[i].Cells["Total"].Value = Sum;
}
}
for (int i = 1; i < DgvPV.RowCount; i++)
{
DgvPV.Rows[i].Cells["Total"].Value = Convert.ToDouble(DgvPV.Rows[i].Cells["Total"].Value.ToString()) - Convert.ToDouble(DgvPV.Rows[i - 1].Cells["Total"].Value.ToString());
}
}
catch (Exception ex)
{
MessageBox.Show("Erreur de chargement des données... " + ex, "ERREUR DE CONNEXION AU SERVEUR", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
【问题讨论】:
-
Paint 事件仅用于绘画,并且永远不会在一个中显示 MessageBox。
-
好的,我更正它。谢谢。
标签: c#