我的表单中有两个DataGridViewTextbox列。我想将一个文本框与另一个文本框值进行比较。
在图片中查看信息......
是蓝色的,他们只读......我试过,我得到了答案
答案 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”])但这应该有效。