想法是,修改单元格的内容,合计值会自动计算,写在editchange事件里面和change事件里面都试了,手动输入是可以实现的,但是,如果复制一个值进去就不会触发这个事件,另外删除了单元格的值也不会触发,怎么可以触发呢?或者应该使用什么其他的事件来实现?代码如下: //当用户修改单元格的数据时发生
private void fpSpread1_Change(object sender, FarPoint.Win.Spread.ChangeEventArgs e)
{
if (fpSpread1.ActiveSheetIndex == 1 && fpSpread1.ActiveSheet.ActiveColumnIndex > 5)
{
try
{
int nianfenshu = Convert.ToInt32(fpSpread1.Sheets[0].Cells[5, 3].Text);//年数
double[] neirong = new double[nianfenshu];//年份列内容数组
for (int i = 1; i < 11; i++)
{
double heji = 0;//获取要添加的合计值
for (int j = 0; j < nianfenshu; j++)
{
if (fpSpread1.Sheets[1].Cells[i, j + 6].Text != "")
{
neirong[j] = Convert.ToDouble(fpSpread1.Sheets[1].Cells[i, j + 6].Value);
heji = heji + neirong[j];
}
}
fpSpread1.Sheets[1].Cells[i, 5].Value = heji;//为合计赋值
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
|