C#winform中,datagridview单元个问题 在DGV中有一列是折扣的,现在要实现的功能就是,但你在折扣这列中的单元格里输入一个数字,比如2时当光标离开这个单元格时,此单元格变自动显示为0.2。就是除10。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是我 我就会去找这个DGV的事件 ,里面肯定有关于离开焦点,或者说cell编辑完成的事件 写个事件函数吧,在里面把值改成你要的格式就可以了this.DataGridView.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.DataGridViewPowerSensor_CellFormatting); //当光标离开单元格时触发private void dgvFileDataInfo_CellEndEdit(object sender, DataGridViewCellEventArgs e) { //string strColumnName = dgvFileDataInfo.Columns[e.ColumnIndex].Name; //获取点击的列名 //判断列 if("折扣列") { //先获取输入的值 //再把折扣列单元格的值/10之后再赋给折扣列的单元格 //比如 string strText = Convert.ToString(this.dgv.Rows[].Cells[].Value); //根据你的数据类型需要转化成相应的数据类型 int intNum = int.Parse(strText); this.dgv.Rows[].Cells[].Value = intNum /10; } }大致代码是这样,具体的根据你自己的需要!!! 使用时也可以参考参考dgvFileDataInfo_CellValueChanged这个事件,单元格的值发生改变时触发的事件! 你所用的事件操作的对象应该是cell,不应该是row 是CELL 我用的是dataGridView1_CellEndEdit( 你要在事件里用e.ColumnIndex先判断一下事件发生的列 直接用事件撒...选择DGV 属性--事件--CellEndEdit--双击进去以后定义当前行DataGridViewRow dr = this.DGV.CurrentRow; //DGV为你的DataGridViewif (e.ColumnIndex == 5) //5为你折扣那列的列数,假设是5 { dr.Cells[5].Value = dr.Cells[5].Value /10;} 其他的判断自己加吧 求助:DrawLine后的笔迹如何保存,如何擦除? C# ocx注册后,C#在类文件中如何调用ocx,十分火急??? ASP.NET2.0如何实现MDF文件向MDB文件的转换 分不多但是问题很经典关于C#发送传真问题【经典不看后悔死你】 简单的正则问题 如何在C#中获得AD用户及组中用户列表 test 小数点的问题???? 怎么做像1616.com或者雅虎的那种天气预报 如何让.NET SDK QuickStart中有关数据访问的Sample可以运行? c#画图问题 隐藏菜单
private void dgvFileDataInfo_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
//string strColumnName = dgvFileDataInfo.Columns[e.ColumnIndex].Name; //获取点击的列名
//判断列
if("折扣列")
{
//先获取输入的值
//再把折扣列单元格的值/10之后再赋给折扣列的单元格
//比如
string strText = Convert.ToString(this.dgv.Rows[].Cells[].Value);
//根据你的数据类型需要转化成相应的数据类型
int intNum = int.Parse(strText);
this.dgv.Rows[].Cells[].Value = intNum /10;
}
}大致代码是这样,具体的根据你自己的需要!!!
选择DGV 属性--事件--CellEndEdit--双击进去以后
定义当前行
DataGridViewRow dr = this.DGV.CurrentRow; //DGV为你的DataGridView
if (e.ColumnIndex == 5) //5为你折扣那列的列数,假设是5
{
dr.Cells[5].Value = dr.Cells[5].Value /10;
}
其他的判断自己加吧