Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 验证从文件读取的数据的DataGridView单元格_C#_.net_Winforms_Datagridview - Fatal编程技术网

C# 验证从文件读取的数据的DataGridView单元格

C# 验证从文件读取的数据的DataGridView单元格,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,我有一个无界的DataGridView,有几列。我创建了一个cellvalizing函数,它运行良好。现在我正试图从文本文件中读取数据,并将其放入DataGridView。但是,当我这样做时,cellvalizing函数从未被调用。是否可以验证这样输入的数据 编辑:这是我的CellValidate函数的一部分: private void Grid_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) {

我有一个无界的
DataGridView
,有几列。我创建了一个
cellvalizing
函数,它运行良好。现在我正试图从文本文件中读取数据,并将其放入
DataGridView
。但是,当我这样做时,
cellvalizing
函数从未被调用。是否可以验证这样输入的数据

编辑:这是我的
CellValidate
函数的一部分:

private void Grid_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    string headerText = Grid.Columns[e.ColumnIndex].HeaderText;

        switch (headerText)
        {
            case "Number":

                if (!String.IsNullOrEmpty(e.FormattedValue.ToString()))
                {
                    if (!Regex.IsMatch(e.FormattedValue.ToString(), @"(^\d{1,2}$)"))
                    {
                        MessageBox.Show("Number must be a 1 or 2 digit positive number");
                        e.Cancel = true;
                    }
                }
        }
}

当更改当前单元格/行或结束编辑操作时,将触发CellValidating和RowValidating事件。您应该能够使用BeginEdit和EndEdit强制执行验证触发器

你能分享你的代码吗?这是一个非常标准的CellValidating函数,我将在上面发布。当你在GUI中输入一行时,你会得到CellValidating回调,但当你创建新行时,你不会得到CellValidating回调。这是您遇到的问题还是我遗漏了什么?当更改当前单元格/行或结束编辑操作时,将触发CellValidating和RowValidating事件。您应该能够使用BeginEdit和EndEdit强制执行验证触发器。但是,由于您以编程方式放入行/单元格,您可能还想知道是否需要依赖验证机制。您还可以在将要验证的内容添加到数据网格之前“验证”它们。只是一个想法。@Haxx:使用BeginEdit和EndEdit似乎效果不错。谢谢