datagridview不能实时刷新数据的处理

本文介绍了一种在DataGridView中不通过绑定DataTable而直接刷新修改数据的方法,特别关注了数据验证和格式化过程中的关键步骤,如将数值转换为两位小数并即时更新显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一种情况,datagridview不是通过绑定datatable刷新数据的,可以采用
this.datagridview.refreshedit来刷新修改的数据,例如:
//做数据验证,格式化成两位小数,更新不了数据,
private void skinDataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.RowIndex > -1 && e.ColumnIndex > -1)
{
DataGridView grid = (DataGridView)sender;
grid.Rows[e.RowIndex].ErrorText = “”;

            if ((grid.Columns[e.ColumnIndex].Name == "ylgeren") || ((grid.Columns[e.ColumnIndex].Name == "yldanwei")) || ((grid.Columns[e.ColumnIndex].Name == "yilgeren")) || ((grid.Columns[e.ColumnIndex].Name == "yildanwei")))
            {
                try
                {
                    // this.skinDataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
                    string amount = Convert.ToDecimal(e.FormattedValue.ToString()).ToString("N2");// Convert.ToDecimal(e.FormattedValue);
                    //MessageBox.Show(amount);
                    this.skinDataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = amount;
                    this.skinDataGridView1.RefreshEdit(); //解决不能自动刷新修改的数据的关键!!!

                    //(skinDataGridView1.CurrentRow.DataBoundItem as DataRowView).EndEdit();
                    //this.skinDataGridView1.Update();
                    // MessageBox.Show(this.skinDataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
                    //return;


                }
                catch
                {
                    e.Cancel = true;
                    grid.Rows[e.RowIndex].ErrorText = "Please enter a number!";
                    MessageBox.Show("格式不对!");
                    return;
                }
            }
        }          
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值