| 发表于:2007-07-12 22:16:046楼 得分:0 |
以下是我做东西时用到的代码,你可以参考一下,没什么注释,还请见谅 private void datagridview1_cellendedit(object sender, datagridviewcelleventargs e) { double price,value,age;//price=单价,value=数量,age=小计 //当“数量”或“单价”单元格处于编辑状态时进行计算“小计” if (datagridview1.columns[e.columnindex].name == "数量 " ¦ ¦ datagridview1.columns[e.columnindex].name == "单价 ") { //检验“数量”和“单价”单元格内容不为空 if ((string)datagridview1.rows[e.rowindex].cells[ "数量 "].value != " " && (string)datagridview1.rows[e.rowindex].cells[ "单价 "].value != " ") { value = double.parse((string)datagridview1.rows[e.rowindex].cells[ "数量 "].value); price = double.parse((string)datagridview1.rows[e.rowindex].cells[ "单价 "].value); //if(value!=null ¦ ¦price!=null) age= value * price; datagridview1.rows[e.rowindex].cells[ "小计 "].value = age.tostring( "¥######.0 "); } } } //************************************************ private void datagridview1_cellenter(object sender, datagridviewcelleventargs e) { double price, value, age; if (datagridview1.columns[e.columnindex].name == "数量 " ¦ ¦ datagridview1.columns[e.columnindex].name == "单价 ") { if ((string)datagridview1.rows[e.rowindex].cells[ "数量 "].value != " " && (string)datagridview1.rows[e.rowindex].cells[ "单价 "].value != " ") { value = double.parse((string)datagridview1.rows[e.rowindex].cells[ "数量 "].value); price = double.parse((string)datagridview1.rows[e.rowindex].cells[ "单价 "].value); //if(value!=null ¦ ¦price!=null) age= value * price; datagridview1.rows[e.rowindex].cells[ "小计 "].value = age.tostring( "¥######.0 "); } } } 主要是在单元格获得焦点、失去焦点、编辑和完成编辑等几个事件中进行计算,看你的需求选择哪几个事件中处理计算。 | | |
|