【发布时间】:2015-11-20 16:58:31
【问题描述】:
我在一个旧程序中有两个表,即 Units 和 Frequencies。频率表具有单位表的外键,datagridview 将其数据源设置为单位表。我想在这个 datagridview 中添加一个包含频率的组合框。
选择单位
var data = context.Units.Where(u => u.Center.center_name.Trim() == cmbCenters.Text.Trim()).ToList();
// my datagridview
dgResult.AutoGenerateColumns = false;
dgResult.Columns.Clear();
....
....
if (chkRx.Checked)
{
DataGridViewComboBoxColumn rxColumn = new DataGridViewComboBoxColumn();
rxColumn.Name = "RX";
rxColumn.ValueMember = "unitID";
rxColumn.DispalyMember = "rxfreq";
rxColumn.Datasource = context.Frequencies.ToList();
dgResult.Columns.Add(rxColumn);
}
if (chkTx.Checked)
{
DataGridViewComboBoxColumn txColumn = new DataGridViewComboBoxColumn();
txColumn.Name = "TX";
txColumn.ValueMember = "unitID";
txColumn.DispalyMember = "txfreq";
txColumn.Datasource = context.Frequencies.ToList();
dgResult.Columns.Add(txColumn);
}
dgResult.DataSource = data;
更新:
我更改了我的代码,但所有频率都显示在组合框中,不仅是每行中此 unitID 的频率。
【问题讨论】:
-
@MethodMan 你的意思是我必须搜索每个数据并为每个行单元创建频率列表并将其绑定到组合框。
-
你在说什么我听不懂你……你熟悉
<ItemTemplates> -
每行必须有一个组合框,其中包含每行 unitID 的频率。
-
@MethodMan 更新问题
标签: c# linq datagridview combobox