DataGridViewComboBoxColumn中的單元格具有ComboBoxStyle DropDownList。這意味着用戶只能從下拉列表中選擇值。底層控件是ComboBox,所以它可以有DropDown樣式。如何更改DataGridViewComboBoxColumn中基礎組合框的樣式。或者,更一般的,我可以在DataGridView中的下拉列表中的用戶可以鍵入?如何在DataGridViewComboBoxColumn中更改單元格的組合框樣式
7
A
回答
4
void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control.GetType() == typeof(DataGridViewComboBoxEditingControl))
{
DataGridViewComboBoxEditingControl cbo =
e.Control as DataGridViewComboBoxEditingControl;
cbo.DropDownStyle = ComboBoxStyle.DropDown;
}
}
2
以下解決方案適用於我,因爲 Column1.Items.Contains()
正在搜索String
值
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;
}
}
}
+0
給定的條件總是在我的數據組合框中是真的... 是否有工作... 給出條件: ================= ==================================================如果(!Column1.Items.Contains(e.FormattedValue.ToString())){ Column1.Items.Add(e.FormattedValue); dataGridView1.Rows [e.RowIndex] .Cells [e.ColumnIndex] .Value = e.FormattedValue; } – 2009-05-06 05:58:59
1
if (!Column1.Items.Contains(e.FormattedValue.ToString())) {
Column1.Items.Add(e.FormattedValue);
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = e.FormattedValue;
}
可能總是返回true。 如果e.FormattedValue
不是String
那麼比較將失敗。
嘗試
if (!Column1.Items.Contains(e.FormattedValue.ToString())) {
Column1.Items.Add(e.FormattedValue.ToString());
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = e.FormattedValue.ToString();
}
或
if (!Column1.Items.Contains(e.FormattedValue)) {
Column1.Items.Add(e.FormattedValue);
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = e.FormattedValue;
}
相關問題
- 1. 如何更改動態添加的DataGridViewComboBoxColumn的組合框單元格的文本?
- 2. DataGridViewComboBoxColumn - 必須單擊兩次單元格以顯示組合框
- 3. 在KendoGrid中更改單元格樣式
- 4. 如何將datagridview單元格樣式從默認文本框更改爲vb.net中的組合框?
- 5. 更改組合框的下拉式樣
- 6. 如何更改Flex DataGrid中單個單元格的樣式?
- 7. 怎樣才能修改DataGridViewComboBoxColumn的格式?
- 8. 搜索數據框中的組合以更改單元格值
- 9. Excel組合框更改單元格中的數據
- 10. 如何更改單元格的樣式在JQuery.DataTable?
- 11. EPPlus:如何樣式合併單元格?
- 12. 更改WPF中的組合框的樣式(最好在Blend中)
- 13. 如果值更改,更改dojo treegrid單元格的樣式
- 14. 如何從組合框更新表格的單元格?
- 15. UITableView更改單元格樣式
- 16. asp:GridView更改標題單元格樣式
- 17. (VBA)將組合框+宏事件放在單元格更改上
- 18. 基於表單組合框更改數據表單元格
- 19. 在XAML中更改組合框的默認文本樣式
- 20. 如何在不更改單元格樣式的情況下使用PHPExcel更改單元格值?
- 21. 更改組合框風格
- 22. 當在DataGridView組合框單元格中發生選擇更改時更新相鄰單元格的數據源
- 23. 在ui-grid中更改單元格的類值或樣式
- 24. 更改datagrid中單個單元格的樣式WPF/C#
- 25. ng grid如何改變nggrid中單個單元格的樣式?
- 26. 如何在表格單元格編輯器中設置相同的值在組合框中更改事件
- 27. 如何複製單元格鏈接自動更改的組合框
- 28. 更改動態組合框中ComboBox項目的文本樣式
- 29. 從哪裏可以找到組合框表格單元格樣式的規則?
- 30. 如何用pySpark在數據框中更改單元格的值?
這是解決問題的唯一的想法。完整的解決方案需要驗證例程,否則DataGridView將拋出異常。有用的解決方案通常還需要下拉列表中的特定於單元格的列表 – chgman 2008-10-15 01:58:19