-1
問題 如何將comboBoxcolumn添加到dataTable而不僅僅是網格?我嘗試設置「連接器名稱」一欄是一個comboboxcolumn,但顯然我不這樣做是正確的。將組合框列添加到winform中的數據表中
我有什麼(片段):
if (_DtMain.Columns.Count == 0)
{
var cols = new List<DataColumn>();
cols.Add(new DataColumn("PocketName", typeof(string)));
cols.Add(new DataColumn("KeyIndex", typeof(string)));
cols.Add(new DataColumn("SortOrder", typeof(int)));
cols.Add(new DataColumn("ConnectorName", typeof(DataGridViewComboBoxColumn)));
_DtMain.Columns.AddRange(cols.ToArray());
dataGridView1.DataSource = _DtMain.DefaultView;
}
編輯
這是我的新的解決方案:
if (_DtMain.Columns.Count == 0)
{
var colPN = new DataGridViewTextBoxColumn();
var colCN = new DataGridViewComboBoxColumn();
var colKI = new DataGridViewTextBoxColumn();
var colSO = new DataGridViewTextBoxColumn();
dgvHeaderEdit.Columns.Add(colPN);
dgvHeaderEdit.Columns.Add(colCN);
dgvHeaderEdit.Columns.Add(colKI);
dgvHeaderEdit.Columns.Add(colSO);
colPN.HeaderText = "Pocket Name";
colPN.DataPropertyName = "Pocket Name";
colCN.HeaderText = "Connector Name";
colCN.DataPropertyName = "Connector Name";
colKI.HeaderText = "Key Index";
colKI.DataPropertyName = "Key Index";
colSO.HeaderText = "Sort Order";
colSO.DataPropertyName = "Sort Order";
_DtMain.Columns.Add(new DataColumn("Pocket Name", typeof(string)));
_DtMain.Columns.Add(new DataColumn("Connector Name", typeof(string)));
_DtMain.Columns.Add(new DataColumn("Key Index", typeof(string)));
_DtMain.Columns.Add(new DataColumn("Sort Order", typeof(int)));
dgvHeaderEdit.AutoGenerateColumns = false;
dgvHeaderEdit.DataSource = _DtMain.DefaultView;
爲什麼要將'ComboBox'添加到'DataTable'?嘗試使用'Collection'對象 –
'col.Columns.Add(新的DataColumn( 「SomeCollection」 的typeof(名單)));' –
MethodMan
@MethodMan的列不使用cols.Add不顯示(新的DataColumn(「連接器名稱」的typeof(列表))); –