테이블을 표시하는 가장 좋은 방법은 DataGridView (지금부터 DGV 사용)입니다. 문제는 dgv가 하나의 테이블 만 표시 할 수 있다는 것입니다.
그럼 어떻게 하죠? 하나 이상의 DGV (데이터 세트의 각 테이블에 하나씩)가 있거나 DGV가 표시하는 테이블을 변경할 수있는 방법이 있어야합니다.
여러 개의 DGV가 있다고 가정 해 보겠습니다. 양식에 dinamically 추가하는 방법을 다루지 않을 것입니다. 질문을 원하면 대답을 편집 할 것입니다.
당신은 데이터 세트의 각 테이블에 대해 하나 DGV를 만듭니다
List<DataGridView> DGVs = new List<DataGridView>();
foreach (DataTable DT in DS.Tables){
DataGridView DGV = new DataGridView();
DGV.DataSource=DT;
DGVs.Add(DGV);
//Add code for adding them to the form
}
이제 데이터 세트의 각 테이블에 대한 하나의 DataGridView에 있습니다.
는 하나 DGV을 가지고 당신은 내가 당신을 어떻게 결정해야 dinamically
추가하는 방법 컨트롤을 알려 보여주고 싶은 테이블을 선택 할 수 있도록 원하는 경우 그 (것)들을 추가하고 싶으면,이 경우에는 다른 하나가 울려 퍼집니다. 그들을 볼 만들기위한
는 다음을 수행해야합니다
- 그들을
- 그들을 볼 수 있는지 확인 찾은 아버지 제어
- 에 추가합니다. 아버지 컨트롤에 추가
는 간단하다 :
form1.Contols.Add(DGV)
당신이 개의 다른 위치에서 그들의 각 하나를 원하지만, 이전을 기준으로하기 때문에 그들이 조금 더 까다 롭습니다 찾기. 이렇게하려면 Point
을 만든 다음 X 픽셀을 아래로 이동해야합니다.그래서 :
Point p = new Point(0,0); //Position of the first DGV, choose the one you want
p.Y += DGV.Height + 10; //Margin that you want
후 화살표
DGV.Location = p;
그리고 바로 DGV
DGV.Show();
당신은 각 루프의에서 모든 것을 할 수 있습니다 보여줄 필요에 DGV 위치 최저치를 그것은 다음과 같습니다 :
List<DataGridView> DGVs = new List<DataGridView>();
Point p = new Point(0,0); //Position of the first DGV, choose the one you want
foreach (DataTable DT in DS.Tables){
DataGridView DGV = new DataGridView();
DGV.DataSource=DT;
DGVs.Add(DGV);
p.Y += DGV.Height + 10; //Margin that you want
DGV.Location = p;
this.Controls.Add(DGV);
DGV.Show();
}
DGV 목록이 필요없는 경우 (이 경우 유용 할 수 있음) 첫 번째 및 DGVs.Add(DGV);
행을 무시할 수 있습니다.
데이터베이스 응용 프로그램을 빌드하려고합니까? – Steve
@Steve 예, 데이터베이스 응용 프로그램을 작성하려고합니다. –