2012-05-18 1 views
0

나는 문자열 목록이있다. 나는 위의 코드를 실행할 때 내 목록이 표시되지 않는 이유는 확실하지 않다DataGridview의 데이터가 표시되지 않습니다. C#? 내가있는 DataGridView에 표시 할</p> <pre><code>firstname midname lastname aa bbb ccc bb lijb hjhk </code></pre> <p>다음과 같이

internal void add_names() 
     { 
      userInterface ui  = new userInterface(); 
      List_namez names  = new List_namez(); 
      ui.lname.DataSource = names.getnames().ToList(); 
      ui.ShowDialog(); 

     } 

: 다음은 내 코드입니다. 그러나 코드를 디버깅하려고 시도했을 때 ui.lname.DataSource라는 데이터가 발견되었습니다. 그러나 datagridview에 빈 행을 표시합니다. 어떤 제안이 문제를 해결하는 방법 ???

감사합니다.

+0

데이터 소스를 설정 한 후에'DataBind()'호출이 누락 된 것처럼 보입니다. –

+0

열이 자동 생성되지 않는 경우 각 열에 대해 DataProperty 이름을 지정해야합니다 – V4Vendetta

답변

0

이름 정의에 따라 다릅니다. 예를 하나 들어 보겠습니다 :

class Person 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public override string ToString() 
    { 
     return "Person, name=" + FirstName + " Surname=" + LastName; 
    } 
} 

... 

public Form1() 
{ 
    InitializeComponent(); 
    dataGridView1.RowsAdded += new DataGridViewRowsAddedEventHandler(dataGridView1_RowsAdded); 
    dataGridView1.DataSource = new Person[]{ new Person{ FirstName= "Jarek", LastName= "Mitek"}, 
              new Person{ FirstName= "Tony", LastName= "Montana"}}; 
} 

void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) 
{ 
    Console.WriteLine("Rows added count: " + e.RowCount + " row index: " +e.RowIndex); 
    Console.WriteLine(dataGridView1.Rows[ e.RowIndex ].DataBoundItem.ToString()); 
} 

이 Person 클래스의 속성 이름있는 각 열의 이름으로,이 columsn를 생성합니다. 이것이 가장 간단한 방법입니다. 데이터가 세트에 추가되면 디버그 라인이 표시됩니다. 그게 도움이 되나요?

관련 문제