답변

1

나는 이미 내 문제를 해결했다. 나는 내가 한 것처럼 글을 올리겠다. 그리고 hoppefully 누군가 대답을 찾을 것이다.

dgrDetalle.DataSource = dataTable("select * from yourTable"); 
    DataTable dtCombo = dataTableCombo("select COL_ID DETOC_COL_FK,COL_DESCRIPCION from yourTable2"); 
    string[] strColumns = new string[] { "COL_DESCRIPCION" }; 
    MultiColumnDictionary map = new MultiColumnDictionary(dtCombo, "DETOC_COL_FK", strColumns, 0); 
    dgrDetalle.Cols["DETOC_COL_FK"].DataMap = map; 

내 인생을 저장하는 클래스는 MultiColumnDictionary입니다.

참고 : 콤보 상자 항목은 표에서 직접로드 할 DataTable과 다른 DatatTable에로드해야합니다.

0

내가 아는 한, Comboboxes는 실제로 편집 할 때 컨트롤로 존재하기 때문에 선택한 항목 속성이 없습니다.
당신은 단순히 당신이 선택하고자하는 항목으로 셀의 Value 속성을 설정하거나 alternitively, 당신은 속성 설정하여 기본값을 설정할 수 있습니다

DataGridViewColumn.DefaultCellStyle.NullValue합니다.

+0

답변 해 주셔서 감사합니다. 이미 말한대로, 내가 편집 할 때 comboBox.selectedValue에 액세스 할 수 있습니다. 지금하고 싶은 것을 사면 데이터베이스에서 일부 데이터를 가져오고 DataGridViewTextBoxCell.Value 할당에 아무런 문제가 없습니다. , 데이터는 DataGridView에로드되지만 DataGridViewComboBoxCell에 대해서는 동일한 상황이 아닙니다. 나는 DataGridViewComboBoxCell.Value를 시도해 보았지만 이것이 작동하지 않았다. 누군가 나를 도울 수 있기를 바랍니다. 어쨌든 고맙습니다. – Emmanuel

+0

어떤 유형의 가치를 할당하고 있습니까? 문자열 또는 정수? – Rotem

+0

그것은 정수입니다 ... 오라클을 사용하고 있으므로 데이터베이스의 데이터 유형이 "숫자"이고 쿼리를 만들 때 테이블의 해당 필드에서 값을 가져 와서 Integer로 처리합니다. – Emmanuel