2013-05-28 74 views
1

我的窗體中有兩個DataGridViewTextbox列。我想比較一個文本框與另一個文本框的值。在C#中驗證DataGridView文本框單元格?

看到的是有提供信息的圖像...,

這是在藍色它們是隻讀的......我想,我得到的答案

+0

你有什麼嘗試嗎? –

+0

老闆,我沒有得到任何想法......,我在想 – Anjali

+0

那麼你需要比較什麼?您是否需要比較所需數量與數量問題? –

回答

1

試試這個

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

嗨@Amir我不是問單元值,發出的數量總和不大於需要的消耗品的值 – Anjali

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; 
     } 
    } 
} 

事件參數公頃s FormattedValue這是用戶輸入的新值。只要值無效,將e.Cancel設置爲true將不允許用戶離開當前單元格。

您可以更改我的ColQuantityIssues和ColQuantityRequired以按名稱訪問它們(即dgv.Rows [e.RowIndex] .Cells [「Required」]),但應該可以。