2013-05-26 1 views
0

2 개의 테이블 (Families 및 SStatus)을 결합하고 두 번째 테이블 (Families)의 ID를 두 번째 테이블에있는 해당 이름으로 바꾸기 위해 "FamilyView"라는 뷰를 만들었습니다 테이블 (SStatus)은 (열은 이제 "상태"라고합니다)DGV의 열을 데이터베이스에 바인딩 된 Combobox로 수정

이보기 이제 사용자가 내가 원하는 것은 "상태"열 세포를 형질 전환하는 것입니다

 Sda = new SqlDataAdapter("Select * from FamilyView",con); 
     Sda.Fill(ds); 
     dg.DataSource = ds.Tables[0]; 
     dg.Refresh(); 

수정할 수있는 DataGridView에 표시됩니다 SStatus의 모든 이름을 포함하는 콤보 상자에

 SqlDataAdapter sadapter = new SqlDataAdapter("Select * From SStatus", con); 
     DataSet ds1 = new DataSet(); 
     sadapter.Fill(ds1); 

는이 코드 발견 :

 DataGridViewComboBoxCell ComboColumn = (DataGridViewComboBoxCell)(dg.Rows[i].Cells[0]); 
     ComboColumn.DataSource = ds1.Tables[0]; 
     ComboColumn.DisplayMember = "Name"; 

을하지만 난 셀

이 코드를 대체 할 수 없다하지만 난 그것을 사용하는 방법을 잘 모르겠어요 :

Adding bound combobox to datagridview

 BindingSource StatusBD = new BindingSource(); 
     StatusBD.DataSource = ds1; 


     DataGridViewComboBoxColumn colType = new DataGridViewComboBoxColumn(); 
     colType.HeaderText = "Status"; 
     colType.DropDownWidth = 90; 
     colType.Width = 90; 
     //colType.DataPropertyName = "Name"; 
     colType.DataSource = ds; 
     colType.DisplayMember = "Name"; 
     colType.ValueMember = "IdStatus"; 

     dg.Columns.Insert(dg.Columns.GetColumnCount(DataGridViewElementStates.None) - 1, colType); 

답변

0

데이터 원본이 비어 있습니다. 테이블에 SStatus가 있고 Families가있는 테이블이 2 개 있어야합니다. (이하 "PCAP"테이블에서 프로토콜 참조)

다음
  DataGridViewComboBoxColumn colType = new DataGridViewComboBoxColumn(); 
     BindingSource wizardBindingSource = new BindingSource(); 
     wizardBindingSource.DataSource = dataSet; 
     wizardBindingSource.DataMember = "protocol"; // This is the table in the set 
     colType.HeaderText = "Type"; 
     colType.DropDownWidth = 90; 
     colType.Width = 90; 
     colType.DataPropertyName = "wizardProtocol"; 
     colType.DataSource = wizardBindingSource; 
     colType.DisplayMember = "protocolName"; 
     colType.ValueMember = "idprotocols" 

idProtocol protocolName에 매핑 :

다음 내이 게시물과 같이하십시오.

관련 문제