DataGridView TextBox Cell在C#中验证?

时间:2013-05-28 10:39:30

标签: c# datagridview add datagridviewtextboxcell

我的表单中有两个DataGridViewTextbox列。我想将一个文本框与另一个文本框值进行比较。

在图片中查看信息......

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

2 个答案:

答案 0 :(得分:1)

试试这个

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

答案 1 :(得分:0)

将您的网格附加到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”])但这应该有效。