Winform C# dataGridViev
Хочу создать статическую переменную ,которая возвращает количество строк в таблице.
Ошибка: CS0120 Для нестатического поля, метода или свойства "Person.dataGridView1" требуется ссылка на объект.
Как исправить ошибку?
public static int person_count
{
get =>dataGridView1.RowCount;
set
{
}
}
Ответы (3 шт):
Автор решения: xantin
→ Ссылка
Это происходит из-за того, что переменная person_count статическая, а dataGridView1 не статический, одним из возможных способов решения является - сделать переменную не статической, то есть
было:public static int person_count.
стало:public int person_count.
Либо же делать dataGridView1 статическим, если переменная необходима статической.
Автор решения: Blackmeser
→ Ссылка
class Form1 : Form //основная форма
{
//dataGridView1 в дизайнере
button_click_createform(sender, arg)
{
Form2 f2 = new Form2(dataGridView1);
}
}
class Form2 : Form //второстепенная форма
{
DataGridView ref_dataGridView;
int person_count => ref_dataGridView.RowCount; //вот тут нужные вам данные
public Form2(DataGridView dataGridView)
{
ref_dataGridView = dataGridView;
}
}
Автор решения: Mher Balayan
→ Ссылка
person_count сделайте не статическим:
public int person_count
{
get =>dataGridView1.RowCount;
set
{
}
}