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);
을