Как изменить стиль ComboBox ячейки в DataGridViewComboBoxColumn

Во втором случае console.log('first') возвращает undefined, который передается в setTimeout, когда вы вызываете setTimeout(console.log('first'), 0) следующим образом.

Передана ссылка на функцию undefined, и в то же время console.log('first') также выполняется синхронно.

Поэтому в наблюдаемом выводе не будет асинхронного поведения, поскольку setTimeout не выполняет ничего асинхронно, так как заданная функция ссылается на undefined.

7
задан Shimmy 14 November 2009 в 21:01
поделиться

2 ответа

void dataGridView1_EditingControlShowing(object sender, 
    DataGridViewEditingControlShowingEventArgs e)
{
    if (e.Control.GetType() == typeof(DataGridViewComboBoxEditingControl))
    {
        DataGridViewComboBoxEditingControl cbo = 
            e.Control as DataGridViewComboBoxEditingControl;
        cbo.DropDownStyle = ComboBoxStyle.DropDown;
    }
}

Проблема с полем комбинированного списка и связанным с данными datagridview

5
ответ дан 7 December 2019 в 05:33
поделиться

Следующее решение работает на меня

private void dataGridView1_CellValidating(object sender, 
    DataGridViewCellValidatingEventArgs e) 
{
    if (e.ColumnIndex == Column1.Index) 
    {
        // Add the value to column's Items to pass validation
        if (!Column1.Items.Contains(e.FormattedValue.ToString())) 
        {
            Column1.Items.Add(e.FormattedValue);
            dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 
                e.FormattedValue;
        }
    }
}

private void dataGridView1_EditingControlShowing(object sender, 
    DataGridViewEditingControlShowingEventArgs e) 
{
    if (dataGridView1.CurrentCell.ColumnIndex == Column1.Index) 
    {
        ComboBox cb = (ComboBox)e.Control;
        if (cb != null) 
        {
            cb.Items.Clear();
            // Customize content of the dropdown list
            cb.Items.AddRange(appropriateCollectionOfStrings);
            cb.DropDownStyle = ComboBoxStyle.DropDown;
        }
    }
}
2
ответ дан 7 December 2019 в 05:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: