我想在DataGridView
事件CellFormatting
編寫代碼來觸發,如果在同一行的列(qty
和scanqty
)值是不同的,然後設置背景顏色比較黃的邏輯。但會發生運行時錯誤C# - 的DataGridView比較兩個單元格的值和設置風格
System.ArgumentOutOfRangeException:'索引超出範圍。必須是非負面的,並且小於收藏的大小。「
以下是我的示例代碼,任何人都可以幫助我,非常感謝。
private void dgProductList_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (this.dgProductList.Columns[e.ColumnIndex].Name == "scanqty")
{
var sqty = String.IsNullOrEmpty(e.Value.ToString()) ? 0 : int.Parse(e.Value.ToString());
var qty = int.Parse(dgProductList[e.RowIndex, 1].Value.ToString());
if (sqty != qty)
{
e.CellStyle.BackColor = Color.Yellow;
e.CellStyle.ForeColor = Color.Red;
}
else
{
e.CellStyle.BackColor = Color.White;
e.CellStyle.ForeColor = Color.Black;
}
}
}
哇,粗心的錯誤,謝謝。 –
沒問題。在StackOverflow上表達謝意的最佳方式是將答案標記爲已接受。如果你不知道如何去做,這裏是[解釋它的帖子](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。祝你有個美好的一天 –