换个思路,直接在合计那一行直接把公示加上去,就不需要这么复杂了吧
请问怎么实现把公式加上去呢?
@失败也非末日: 试试用模板导出的方式
@华临天下: 数据不固定
@失败也非末日: https://blog.csdn.net/qq_36802111/article/details/84997953,看看这个有没有对你有用
@华临天下: 好的,谢谢
我之前的代码,你参考一下。同理,当单元格内容发生改变,重新计算H20数据
/// <summary>
/// 当前单元格值发生改变时,改变当前单元格颜色
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
//当前行如果是新增行直接return
string key = this.dataGridView1.CurrentRow.Cells[0].Value.ToString();
string sql = "select count(*) from BUSINESS_OPERATOR_LIST t where t.TID = '" + key +"'";
if (access.selectCount(sql) == 0)
{
//keySet.Add(key);
return;
}
//bool isa = this.dataGridView1.Rows[0].IsNewRow;
object currentCellValue = this.dataGridView1.CurrentCell.Value == null ? "" : this.dataGridView1.CurrentCell.Value;//当前单元格值
int currentCellColumnIndex = this.dataGridView1.CurrentCell.ColumnIndex;
string currentRowPrimaryKey = this.dataGridView1.CurrentRow.Cells[0].Value.ToString();//当前行主键
//改变cell change后颜色
foreach (object[] obj in List)
{
if (currentRowPrimaryKey.Equals(obj[0].ToString()))//锁定行
{
if (!obj[currentCellColumnIndex].Equals(currentCellValue))
{
this.dataGridView1.CurrentCell.Style.BackColor = Color.Tomato;//值被改变
//keySet.Add(currentRowPrimaryKey);
}
else
{
this.dataGridView1.CurrentCell.Style.BackColor = Color.White;//值未改变
}
}
}
}
谢谢啊,是bs项目
一种最简单的是在sql查询就使用union all 添加一行合计数就可以了