2011-04-07 6 views
0

DataGrid에서 Gmail 대화를 표시하는 Windows 애플리케이션을 하나 만들었습니다. 모두 Datagridview 바인딩을 제외한 항목입니다. 내가 Gridview에 바인딩에 무슨 일이 있었는지 모르겠다. 내 코드 스니 j을 검토하고 나 에게이 문제를 해결하기위한 해결책을 제공하십시오. 사전에 감사합니다 .. 내 코드가 Datagridview에 데이터가 표시되지 않습니다.

GmailItem _gItem = null; 
      List<GmailItem> lstMail = new List<GmailItem>(); 
      for (int i = 0; i < mailCount; i++) 
      { 
       _gItem = new GmailItem(); 
       _gItem = client.GetMailItem(i); 
       lstMail.Add(_gItem); 
      } 

      _bindingMails.DataSource = lstMail; 
      dgMails.DataSource = _bindingMails; 

그리고 디자이너 페이지

, 이것은 DataGridView를 또한

this.dgMails.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; 
     this.dgMails.Location = new System.Drawing.Point(6, 19); 
     this.dgMails.Name = "dgMails"; 
     this.dgMails.Size = new System.Drawing.Size(504, 150); 
     this.dgMails.TabIndex = 0; 

코드입니다 ... 아래에 추가되고, 나는 우리의 .CS 페이지

이 코드를 추가
dgMails.Dock = DockStyle.Fill; 
      dgMails.AutoGenerateColumns = true; 
+0

'_bindingMails; '의 유형은 무엇입니까? – Rhapsody

+0

@Rhapsody : BindingSource – MAC

+1

"동감이야?"라는 질문에 사과드립니다. 하지만, 확실 하시겠습니까? mailCount! = 0? – Yetti

답변

1

이 JonH의 의견 외에, 당신의 코드가 더 나은 이런 식으로 읽을 것이라는 점을 지적하고 싶습니다 :

 List<GmailItem> lstMail = new List<GmailItem>(); 
     for (int i = 0; i < mailCount; i++) 
     { 
      lstMail.Add(client.GetMailItem(i)); 
     } 

     _bindingMails.DataSource = lstMail; 
     dgMails.DataSource = _bindingMails; 
을 당신은 그리드를 통해 업데이트 할 필요가없는 경우
0

당신이 할 수 있습니다 : 그들은 데이터 그리드 에 BindingSource에를 결합하는 MSDN Example

dgMails.DataSource = lstMail; // Without the BindingSource 

전에 BindingSource에

+0

죄송합니다 .. 기회 없음 .. 나는 이것을 시도했습니다 ... – MAC

+0

은'dgMails.Autogeneratecolumns'가 true로 설정되어 있습니까? (또는 각 열의'DataPropertyName'을 설정 했습니까?) – Rhapsody

5

1에 데이터를 추가) 있는지 확인 BindingSource에는 DataMember에 대한 값이 없습니다. DataMember 속성은 BindingSource에게 해당 이름의 필드/속성을 찾아서 IEnumerable을 가져 오도록 지시합니다.

2) DataGridView.AutoGenerateColumns이 True인지 확인하십시오. 이 속성은 기본적으로 True이며 PropertyGrid에는 표시되지 않으므로 코드 뒤에 False로 설정해야합니다. GMailItem가 공용 속성이 포함되어 있습니까

3) 업데이트? 입력란이 작동하지 않습니다.

+0

"필드가 작동하지 않습니다"... 감사합니다! – JMG

관련 문제