このコードを実行すると、奇妙な結果が得られます。onHand が Min を下回ったときに、基本的な在庫リスト (名前、onHand、Min) を含む datagridview があり、何らかのアラートが必要です。私が抱えている問題は、メッセージボックスに値を与えているので、何が起こっているのかを見ることができ、「onHand」値を上部の「if」ブロックに入れると、常にゼロとして出力されますが、「最小」は正しい値。一番上の「if」ブロックに「Min」値を入れると、それはゼロになり、「onHand」は正しい値を示します。私はしばらくの間それを修正しようとしてきましたが、何が間違っているのかわかりません。現在、上部の「if」ブロックに「最小」があり、メッセージボックスには常に最小がゼロとして表示されますが、「onHand」には正しい値が表示されます。
コード:
private void btnLows_Click(object sender, EventArgs e)
{
int onHand = 0;
int min = 0;
int counter;
for (counter = 0; counter < (dataGridView1.Rows.Count);
counter++)
{
if (dataGridView1.Rows[counter].Cells["min"].Value
!= null)
{
if (dataGridView1.Rows[counter].Cells["min"].Value.ToString().Length != 0)
{
onHand = int.Parse(dataGridView1.Rows[counter].Cells["min"].Value.ToString());
if (dataGridView1.Rows[counter].Cells["onHand"].Value != null)
{
if (dataGridView1.Rows[counter].Cells["onHand"].Value.ToString().Length != 0)
{
onHand = int.Parse(dataGridView1.Rows[counter].Cells["onHand"].Value.ToString());
if (onHand < min)
{
MessageBox.Show(onHand.ToString(), min.ToString());
}
else
{
MessageBox.Show(onHand.ToString(), min.ToString());
}
}
}
}
}