c#中的DataGridView文本框单元格验证

本文关键字:单元格 验证 文本 中的 DataGridView | 更新日期: 2023-09-27 18:15:36

我有两个DataGridViewTextbox列在我的表单。我想比较一个文本框和另一个文本框的值。

查看图片信息在那里…,

是蓝色的,它们是只读的......我试了,我得到了答案

c#中的DataGridView文本框单元格验证

try this

if (DataGridView.Rows[0].Cells["Quantity"].Value > DataGridView.Rows[0].Cells["other"].Value)
{
//do something
}

将您的网格添加到CellValidating事件:

private void GridCellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    if (e.ColumnIndex == ColQuantityIssues.Index)  // Quantity Issues TextBox value has changed
    {
        int quantityIssued = 0;
        if (!Int32.TryParse(e.FormattedValue.ToString(), out quantityRequired))  //value is not a valid number
        {
            e.Cancel = true;
        }
        int quantityRequired = Int32.Parse(dgv.Rows[e.RowIndex].Cells[ColQuantityRequired.Index].Value.ToString());
        if (quantityRequired < quantityIssued)
        {
            e.Cancel = true;
        }
    }
}

事件参数有FormattedValue,这是用户输入的新值。设置e.Cancel为true将不允许用户离开当前单元格,只要值是无效的。

你可以改变我的ColQuantityIssues和ColQuantityRequired访问他们的名称(即dgv.Rows[e.RowIndex]. cells ["Required"]),但这应该工作