c# - 如何手动触发 Datagridview.cellValidating?

标签 c# .net vb.net datagridview

我正在从另一个表中插入几条记录到我的 Datagridview 中,我想为我插入的每条记录调用 CellValidating 事件。请帮帮我。

这是我的代码

            m_Sqlstr = "Select Distinct RFID, Prod_Code, Lot_No From  ScanStk Where BatchNo = '" & strBatchno & "' "
            m_SqlCmd = New SqlCommand(m_Sqlstr, Con)
            Con.Open()
            RFIDReader = m_SqlCmd.ExecuteReader(CommandBehavior.CloseConnection)

            With m_BindingsrcDetail
                    While RFIDReader.Read
                        .AddNew()
                        .Current("SR") = m_BindingsrcDetail.Count
                        .Current("LOT_NO") = RFIDReader("LOT_NO").ToString.Trim
                        .Current("PROD_CODE") = RFIDReader("PROD_CODE").ToString
                        .Current("QUANTITY") = 1
                        GrdDetails.BeginEdit(False)
                        GrdDetails.CurrentRow.Cells("Prod_code").Value = RFIDReader("PROD_CODE").ToString
                        GrdDetails.EndEdit()
                    End While
            End With

grddetails 是网格的名称, m_BindingsrcDetail 是 grdDetails 的数据源

根据 This ,您应该能够使用 BeginEdit 和 EndEdit 强制验证触发器。但它没有发生。

我在单元格验证中获取产品描述、MRP 和其他详细信息。所以有必要调用它。

最佳答案

您必须更改当前单元格然后返回到它。试试这个。您可能需要更改它,因为它尚未经过测试。

 BeginEdit();
 DataGridViewCell currentCell = GrdDetails.CurrentRow.Cells("Prod_code");
 EndEdit();
 CurrentCell = null;
 CurrentCell = currentCell;

关于c# - 如何手动触发 Datagridview.cellValidating?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18915735/

相关文章:

c# - Lucene.NET 中的复杂短语和/或 ComplexPhraseQueryParser

c# - .NET Jquery 脚本错误

c# - Autofac 解决 CQRS CommandDispatcher 中的依赖关系

vb.net - 不要将文字作为本地化参数传递

mysql - 如何解决将 32 位程序与 64 位数据库驱动程序一起使用的问题?

c# - 取消 ThreadPool .QueueUserWorkItem 任务

c# - 通过 Gmail 在 .NET 中发送电子邮件

c# - 如何从连接到PC的手机发送和读取短信

c# - 调度任务与任务创建

c# - 如何将文本字符串从 Base64 解码为字节数组,以及如何在不损坏数据的情况下获取此字节数组的字符串属性