2013-09-24 4 views
0

Visual Studio에서 Windows Forms 응용 프로그램을 만들었고 초기 폼에 도구 상자의 DataGridView를 하나 넣습니다. 그런 다음 데이터 세트를 만들어 파일에서 데이터 세트로 추출합니다. 데이터 세트의 데이터를 GridView에 넣으려고했지만 폼을 시작할 때 아무 일도 일어나지 않았습니다. 그리드가 비어있었습니다. 나는 무엇을 잘못 했는가? 다음은 내가 시도한 것입니다.파일에서 DataGridView로 데이터 가져 오기

dataGridView1.Dock = DockStyle.Fill; 
dataGridView1.DataSource = MakeDataTable(); 

MakeDataTable()은 DataSet (유효 함)을 반환하는 메서드입니다. dataGridView1은 Toolbox에서 가져온 DataGridView 클래스의 객체입니다. 그리드가 비어있는 채로 남아 있었지만 컴파일하는 동안 오류가 없었음에도 아무런 변화가 없었습니다. 그런 다음 Form1 (기본 양식)에서 DataGridView를 비슷한 방식으로 만들려고했습니다. 나는 형태의 디자인에서 데이터 그리드보기를 삭제하고 라인 추가 :

DataGridView dataGridView1 = new DataGridView(); 

그 중 하나가 작동하지 않았다, 나는 그 양식에 볼 수 있도록 설정하는 방법을 몰랐다을.

는이 일을하지만 두 가지 형태, 제대로 데이터로 채워 GRIDVIEW와 하나의 빈과 두 번째했다 그래서 다른 양식을 열 :

Form form1 = new Form(); 
DataGridView dataGridView1 = new DataGridView(); 
dataGridView1.Dock = DockStyle.Fill; 
dataGridView1.DataSource = MakeDataTable(); 
form1.Controls.Add(dataGridView1); 
form1.ShowDialog(); 

내가 무슨 일을 했는가를?

+0

당신이 BindingSource에로 설정 한 다음 BindingSource에 같은 데이터 소스를 설정하려고 할 수 있습니까? – appcoder

답변

0

MakeDataTable 경우 반환하는 DataSet :

**// Add these lines of code to your source** 
DataSet ds = MakeDataTable(); 
dataGridView1.DataSource = ds; 
dataGridView1.DataMember = ds.Tables[0].TableName; 
dataGridView1.AutoGenerateColumns = true; 

form1.Controls.Add(dataGridView1); 
form1.ShowDialog(); 
+0

세 번째 코드 줄은 무엇을 의미합니까? "Tablename"이있는 것. 아직도 두 가지 형태를 열지 않을까요? 미안 해요. 바보 같은 질문을하는 경우, 저는 이것에 대해 새로운 것입니다. –

+0

@ user2806097 우리 모두는 가르치고 배우려고 '바보'라고 말할 수있는 것이 아무것도 없습니다. DataSet을 만들 때 관계가 있거나없는 여러 DataTable을 내부에 넣을 수 있습니다. 이 행은 생성 된 DataSet에서 첫 번째 DataTable을 선택하도록 DataGrid에 지시합니다. 양식 열기는 완전히 다른 이야기입니다. 양식은 일반적으로 Show() 또는 ShowDialog()를 호출하여 열 수 있습니다. – Alireza

+0

@ user2806097 그리고 한 가지 더 : 코드를 사용해 보셨습니까? 작동합니까? 문제가 해결 되었습니까? – Alireza

관련 문제