2012-08-23 4 views
0

많은 양의 데이터가있는 datagridview가 있는데 새 행을 추가하면 첫 번째 열의 마지막 행이 네 개의 항목을 포함하는 새로운 ComboBoxCell을 만듭니다. 하지만 콤보 박스의 기본값 ("DropDown")을 설정할 수는 없습니다. 매번 수동으로 "DropDown"을 선택해야합니다. 해결 방안은 무엇인가?Datagridview ComboBoxCell 기본값을 설정 하시겠습니까?

DataGridViewComboBoxCell dgvCell = new DataGridViewComboBoxCell(); 
dgv[1, dgv.Rows.Count - 1] = dgvCell; 

string[] controltype = {"DropDown", "CheckBoxList", "ListControl", "Tree" }; 
dgvCell.DataSource = controltype; 
+0

: DGV [1, dgv.Rows.Count을 - 1] = dgvCell; – Sora

+0

datagridview의 마지막 행의 첫 번째 열에 comboboxcell을 추가하십시오. – user1520209

+0

'dgvCell.Value = controltype [0];'과 같은 줄이 작동하지 않습니까? –

답변

0
private void dataGridView_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e) 
    { 
     e.Row.Cells[4].Value = "DropDown"; 
    } 
-1

시도 :

if(!isPostBack) 
    { 
    dgvCell.SelectedItem=controltype[0].toString(); 
    } 
0

그것은 당신이 당신의 데이터 그리드보기에서 콤보 상자에 열이 있고 당신이 알고 싶은 경우에, 콤보 상자의 선택된 인덱스 것입니다, 쉽다 다음을 수행해야합니다. 1. DataGrid보기의 EditingControlShowing 이벤트를 처리합니다. 이 이벤트 핸들러에서 현재 열에 관심이 있는지 확인하십시오. 그리고 우리가 임시 콤보 객체를 만들고 선택된 인덱스 얻을 :

코드 그 라인을 위해 서 무엇을

private void dataGridView1_EditingControlShowing(object sender, 
DataGridViewEditingControlShowingEventArgs e) 
{ 
if (dataGridView1.CurrentCell.ColumnIndex == 0) 
{ 
// Check box column 
ComboBox comboBox = e.Control as ComboBox; 
comboBox.SelectedIndexChanged += new EventHandler(comboBox_SelectedIndexChanged); 
} 
} 

void comboBox_SelectedIndexChanged(object sender, EventArgs e) 
{ 
int selectedIndex = ((ComboBox)sender).SelectedIndex; 
MessageBox.Show("Selected Index = " + selectedIndex); 
} 
관련 문제