2012-08-23 115 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的最後一行第一列。 – 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 View的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); 
}