0

このコードを実行すると、奇妙な結果が得られます。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());
                           }
                       }
                   }
                }

            }
4

1 に答える 1