DataGridView 컨트롤에 일부 데이터를 표시하는 응용 프로그램을 만들었습니다. 데이터는 SQL 데이터베이스에 저장됩니다. 이 특정 디스플레이에 대한 매개 변수가 많기 때문에 사용자가 데이터베이스에 데이터를 추가하거나 대체하는 데 도움이되는 동일한 프로젝트에 다른 (하위) 양식을 만들었습니다. 추가 기능과 교대 기능 모두 제대로 작동하지만 DataGridView의 데이터는 변경되지 않습니다. DataGridView의 DataSource를 새로 고치는 방법을 알고 있지만 그 함수를 다른 양식으로 트리거하는 방법을 모르겠습니다. 다음 그래서 다른 (하위) 형태에서 액세스 할 수있을 것다른 양식에서 dataGridView의 데이터 소스 새로 고침
private void RefreshMyDGV()
{
command.CommandText = "SELECT * FROM MyDataBase";
SDA.SelectCommand = command;
SDA.Fill(myDataTable);
dataGridView1.DataSource = MyDataTable;
}
내가 공공 정적 기능으로이 기능을 변경하려고했지만 :
는 내가있는 DataGridView의 데이터 소스를 새로 고치려면이 기능을 사용 컴파일러는 "비 정적 필드, 메소드 또는 속성에 객체 참조가 필요합니다"라는 오류를 발생시킵니다.
나는 또한 다른 형태에서 액세스 한 다음 공개로 된 DataGridView를 정의하고, 시도 :((Form1)fr1).dataGridView1.DataSource = myDataTable;
을하지만 그 중 하나가 작동하지 않았다.
이 방법을 제안하십시오. 감사합니다. .
(아이) 양식 "은 원래 양식의 인스턴스에 대한 참조가없는 것처럼 들립니다. 그게 사실이야? 이 경우, fr1은 무엇입니까? 공용 인스턴스 멤버를 그리드 새로 고치고 해당 인스턴스 멤버를 아무 문제없이 호출 할 수 있어야합니다. 데이터 소스를 null로 설정하면 어떻게됩니까? 그리드가 지워 집니까? –