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

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

有一种情况,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;
                }
            }
        }          
    }

您可能感兴趣的与本文相关的镜像

Dify

Dify

AI应用
Agent编排

Dify 是一款开源的大语言模型(LLM)应用开发平台,它结合了 后端即服务(Backend as a Service) 和LLMOps 的理念,让开发者能快速、高效地构建和部署生产级的生成式AI应用。 它提供了包含模型兼容支持、Prompt 编排界面、RAG 引擎、Agent 框架、工作流编排等核心技术栈,并且提供了易用的界面和API,让技术和非技术人员都能参与到AI应用的开发过程中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值