2012-06-26 3 views
0

내 목록이 DataGridView에 표시되지 않는 이유를 이해할 수 없습니다. dataGridView1.DataSource = actors.ToList();에 대한 주석을 제거하면; 실행 중 ...하지만 button_click을 누를 때 실행해야합니다. 무엇이 잘못 될 수 있습니까?내 목록이 DataGridView에 표시되지 않는 이유

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     LoadData(); 
    } 


    public void LoadData() 
    { 
     List<Actor> actors = new List<Actor> 
    { 
     new Actor(){ PersonId = 1, ForNavn = "xxxx", EtterNavn = "bbbbb", Adresse = "Hhhhhh", PostNr = 37325, PostSted = "aaaa" }, 
     new Actor(){ PersonId = 2, ForNavn = "ggggg", EtterNavn = "ddddd", Adresse = "Dssssss", PostNr = 37464, PostSted = "ssfff" }, 
    }; 
     //dataGridView1.DataSource = actors.ToList(); 
    } 


    private void btnSok_Click(object sender, EventArgs e) 
    { 
     List<Actor> actors = new List<Actor>(); 

     var query = from actor in actors 
        select actor; 

     dataGridView1.DataSource = query.ToList(); 

    } 
} 

}

+1

액터 목록이 비어 있습니다. LoadData에서와 같이 액터 목록에 요소를 추가하지 않았습니다. –

+0

데이터 바인딩을 사용하는 것이 좋습니다. – HichemSeeSharp

답변

1

액터 목록이 대신 버튼을 클릭 이벤트

사용에 비어 있기 때문에 :로드되지 btnsOK에서

List<Actor> actors = new List<Actor> 
    { 
     new Actor(){ PersonId = 1, ForNavn = "xxxx", EtterNavn = "bbbbb", Adresse = "Hhhhhh", PostNr = 37325, PostSted = "aaaa" }, 
     new Actor(){ PersonId = 2, ForNavn = "ggggg", EtterNavn = "ddddd", Adresse = "Dssssss", PostNr = 37464, PostSted = "ssfff" }, 
    }; 
+0

목록 대신 쓸 내용 배우 = 새 목록 (); 그러면 btn_click에 이 표시됩니까? 내가 할당을 해제하면 할당되지 않은 로컬 변수 액터가 나타납니다. – Pota

+0

버튼 클릭 이벤트에서 데이터를로드하거나 Tony Hopkinson의 답변을 사용하십시오. – ScottieMc

2
public partial class Form1 : Form 
{ 
    private List<Actor> _actors; 
    public Form1() 
    { 
     InitializeComponent(); 
     LoadData(); 
    } 


    public void LoadData() 
    { 
     _actors = new List<Actor> 
    { 
     new Actor(){ PersonId = 1, ForNavn = "xxxx", EtterNavn = "bbbbb", Adresse = "Hhhhhh", PostNr = 37325, PostSted = "aaaa" }, 
     new Actor(){ PersonId = 2, ForNavn = "ggggg", EtterNavn = "ddddd", Adresse = "Dssssss", PostNr = 37464, PostSted = "ssfff" }, 
    }; 
    } 


    private void btnSok_Click(object sender, EventArgs e) 
    { 

     var query = from actor in _actors 
        select actor; 

     dataGridView1.DataSource = query.ToList(); 

    } 
} 

배우들이 다시 선언 그러므로 빈칸의 종류.

관련 문제