Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.
Например, ниже - класс ученика, который будет использовать его в нашем коде.
public class Student {
private int id;
public int getId() {
return this.id;
}
public setId(int newId) {
this.id = newId;
}
}
Приведенный ниже код дает вам исключение с нулевым указателем.
public class School {
Student obj_Student;
public School() {
try {
obj_Student.getId();
}
catch(Exception e) {
System.out.println("Null Pointer ");
}
}
}
Поскольку вы используете Obj_Student
, но вы забыли инициализировать его, как в правильном коде, показанном ниже:
public class School {
Student obj_Student;
public School() {
try {
obj_Student = new Student();
obj_Student.setId(12);
obj_Student.getId();
}
catch(Exception e) {
System.out.println("Null Pointer ");
}
}
}
Если Вы хотите добавить, что строка в конец сетки использует эти , Добавляют () метод набора строк...
DataGridView1.Rows.Add(New String(){Value1, Value2, Value3})
, Если Вы хотите вставить строку в partiular положении, используют эти , Вставляют () метод набора строк (как GWLlosa, также сказанный)...
DataGridView1.Rows.Insert(rowPosition, New String(){value1, value2, value3})
я знаю, что Вы упомянули, что не делали привязки данных, но если бы Вы определили набор данных со строгим контролем типов с единственной таблицей данных в Вашем проекте, то Вы могли бы использовать это и заставить некоторые хорошие методы со строгим контролем типов делать этот материал, а не полагаться на методы сетки...
DataSet1.DataTable.AddRow(1, "John Doe", true)
Я думаю, что необходимо создать набор данных/таблицу данных в коде и связать сетку с этим.
Функцией, которую Вы ищете, является 'Вставка'. Это берет в качестве его параметров индекс, который Вы хотите вставить в, и массив значений для использования для новых значений строки. Типичное использование могло бы включать:
myDataGridView.Rows.Insert(4,new object[]{value1,value2,value3});
или что-то к тому эффекту.