Form1の1つのDataGridViewからForm3の別のDataGridViewに値を転送できるようにしたい。これを行うために、後でForm3でアクセスできるように、クラスに含まれる3つの異なる変数でそれらをフィルター処理することを選択しました。
これらはクラスです:(私はすでに3つの変数を持つ単一のクラスとしてそれらを持っています)
public class verify1
{
public static int[] CodUser { get; set; }
}
public class verify2
{
public static DateTime[] DataFim{ get; set; }
}
public class verify3
{
public static string[] Nome { get; set; }
}
また、変数に値を割り当てているときに、forを初めて実行したときにNullReferenceExceptionが発生します。
これは私が値を割り当てるために使用したコードです:
int a = 0;
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
{
DateTime date = Convert.ToDateTime(dataGridView1.Rows[i].Cells[2].Value);
if (date <= DateTime.Now)
{
verify1.CodUser[a] = Convert.ToInt32(dataGridView1.Rows[i].Cells[0].FormattedValue);
verify2.DataFim[a] = Convert.ToDateTime(dataGridView1.Rows[i].Cells[2].FormattedValue);
verify3.Nome[a] = Convert.ToString(dataGridView1.Rows[i].Cells[3].Value);
a++;
}
}
さて、私が理解していないのは、VisualStudioが値がnullであると言う理由です。例外は次の行で発生します。
verify1.CodUser[a] = Convert.ToInt32(dataGridView1.Rows[i].Cells[0].FormattedValue);
(これは17389です)そもそも、これ以上先に進まないでしょう。nullが返される理由がわかりません。ちなみに、DataGridViewは完全にデータで満たされています。
なぜnullを返すのですか?